Files
DNF_DEV/source_game/Actor/Map/GameMapLayer.cpp

48 lines
1.1 KiB
C++

#include "GameMapLayer.h"
#include "EngineCore/Game.h"
GameMapLayer::GameMapLayer()
{
}
GameMapLayer::~GameMapLayer()
{
}
void GameMapLayer::Render()
{
Actor::Render();
SDL_Renderer *renderer = Game::GetInstance().GetRenderer();
// 设置绘制颜色
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 128);
// 自身坐标
float Xpos = GetIterationPos().x + GetPos().x;
float Ypos = GetIterationPos().y + GetPos().y;
for (auto &info : this->FeasibleAreaInfoList)
{
SDL_Rect buf;
buf.x = info.x + Xpos;
buf.y = info.y + Ypos;
buf.w = info.w;
buf.h = info.h;
// 绘制填充矩形
SDL_RenderFillRect(renderer, &buf);
}
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 250);
}
void GameMapLayer::AddDebugFeasibleAreaInfo(VecFPos pos, VecSize size)
{
SDL_Rect info;
info.x = pos.x;
info.y = pos.y;
info.w = size.width;
info.h = size.height;
this->FeasibleAreaInfoList.push_back(info);
}
void GameMapLayer::AddObject(RefPtr<Actor> obj)
{
this->AddChild(obj);
}