87 lines
1.5 KiB
C++
87 lines
1.5 KiB
C++
#include "RenderBase.h"
|
|
#include "EngineFrame/Actor/Actor.h"
|
|
|
|
RenderBase::RenderBase()
|
|
{
|
|
}
|
|
|
|
RenderBase::~RenderBase()
|
|
{
|
|
}
|
|
|
|
void RenderBase::CalcRenderInfo()
|
|
{
|
|
this->CalcRenderInfoFlag = true;
|
|
}
|
|
|
|
void RenderBase::Init()
|
|
{
|
|
Component::Init();
|
|
// 标记该组件需要渲染和更新
|
|
addTag(Tag::RENDER);
|
|
addTag(Tag::UPDATE);
|
|
addTag(Tag::TRANSFORM);
|
|
// 计算渲染信息
|
|
CalcRenderInfo();
|
|
}
|
|
|
|
void RenderBase::Update(float deltaTime)
|
|
{
|
|
if (!Visible)
|
|
return;
|
|
Component::Update(deltaTime);
|
|
|
|
}
|
|
|
|
void RenderBase::Render()
|
|
{
|
|
if (!Visible)
|
|
return;
|
|
Component::Render();
|
|
}
|
|
|
|
void RenderBase::SetIterationPos(VecFPos pos)
|
|
{
|
|
Component::SetIterationPos(pos);
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|
|
|
|
void RenderBase::SetIterationScale(VecFPos scale)
|
|
{
|
|
Component::SetIterationScale(scale);
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|
|
|
|
void RenderBase::SetIterationRotation(float angle)
|
|
{
|
|
if (!Visible)
|
|
return;
|
|
Component::SetIterationRotation(angle);
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|
|
|
|
void RenderBase::SetPos(VecFPos pos)
|
|
{
|
|
Component::SetPos(pos);
|
|
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|
|
|
|
void RenderBase::SetScale(VecFPos scale)
|
|
{
|
|
Component::SetScale(scale);
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|
|
|
|
void RenderBase::SetRotation(float angle)
|
|
{
|
|
Component::SetRotation(angle);
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|
|
|
|
void RenderBase::SetAnchor(VecFPos anchor)
|
|
{
|
|
Component::SetAnchor(anchor);
|
|
CalcRenderInfo(); // 更新渲染信息
|
|
}
|