59 lines
1.1 KiB
C++
59 lines
1.1 KiB
C++
#include "Actor.h"
|
|
#include "EngineFrame/Scene/Scene.h"
|
|
#include "EngineCore/Game.h"
|
|
#include "EngineFrame/Render/RenderManager.h"
|
|
#include <algorithm>
|
|
|
|
void Actor::Init()
|
|
{
|
|
}
|
|
|
|
void Actor::OnAdded(Actor *node)
|
|
{
|
|
|
|
}
|
|
|
|
void Actor::SetBlendMode(LE_BlEND_MODE mode)
|
|
{
|
|
this->_BlendMode = mode;
|
|
}
|
|
|
|
LE_BlEND_MODE Actor::GetBlendMode()
|
|
{
|
|
return this->_BlendMode;
|
|
}
|
|
|
|
void Actor::Render()
|
|
{
|
|
// 如果有裁切视口
|
|
if (this->_CropViewportFlag)
|
|
{
|
|
RenderManager *renderer = Game::GetInstance().GetRenderer();
|
|
renderer->SetClipRect(&this->_CropViewport);
|
|
Node::Render();
|
|
renderer->CloseClipRect();
|
|
}
|
|
else
|
|
{
|
|
Node::Render();
|
|
}
|
|
}
|
|
|
|
void Actor::SetCropViewport(SDL_Rect CropViewport)
|
|
{
|
|
if (CropViewport.x == 0 && CropViewport.y == 0 && CropViewport.w == 0 && CropViewport.h == 0)
|
|
{
|
|
this->_CropViewportFlag = false;
|
|
}
|
|
else
|
|
{
|
|
this->_CropViewportFlag = true;
|
|
this->_CropViewport = CropViewport;
|
|
}
|
|
}
|
|
|
|
SDL_Rect Actor::GetCropViewport()
|
|
{
|
|
return this->_CropViewport;
|
|
}
|