完成关卡加载器-对象层
This commit is contained in:
@@ -27,6 +27,17 @@ SpriteComponent::SpriteComponent(
|
||||
spdlog::trace("创建 SpriteComponent,纹理ID: {}", texture_id);
|
||||
}
|
||||
|
||||
SpriteComponent::SpriteComponent(engine::render::Sprite&& sprite, engine::resource::ResourceManager& resource_manager, engine::utils::Alignment alignment)
|
||||
: resource_manager_(&resource_manager), sprite_(std::move(sprite)), alignment_(alignment)
|
||||
{
|
||||
if (!resource_manager_) {
|
||||
spdlog::critical("创建 SpriteComponent 时 ResourceManager 为空!,此组件将无效。");
|
||||
// 不要在游戏主循环中使用 try...catch / throw,会极大影响性能
|
||||
}
|
||||
// offset_ 和 sprite_size_ 将在 init 中计算
|
||||
spdlog::trace("创建 SpriteComponent,纹理ID: {}", sprite_.getTextureId());
|
||||
}
|
||||
|
||||
void SpriteComponent::init() {
|
||||
if (!owner_) {
|
||||
spdlog::error("SpriteComponent 在初始化前未设置所有者。");
|
||||
|
||||
@@ -51,6 +51,19 @@ public:
|
||||
std::optional<SDL_FRect> source_rect_opt = std::nullopt,
|
||||
bool is_flipped = false
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief 构造函数
|
||||
* @param sprite 精灵对象。
|
||||
* @param resource_manager 资源管理器指针。
|
||||
* @param alignment 初始对齐方式。
|
||||
*/
|
||||
SpriteComponent(
|
||||
engine::render::Sprite&& sprite,
|
||||
engine::resource::ResourceManager& resource_manager,
|
||||
engine::utils::Alignment alignment = engine::utils::Alignment::NONE
|
||||
);
|
||||
|
||||
~SpriteComponent() override = default;
|
||||
|
||||
// 禁止拷贝和移动
|
||||
|
||||
Reference in New Issue
Block a user