Начинаю добавлять управление камерой. (Сейчас только её позиция)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#include "Camera.hpp"
|
||||
|
||||
#include "../../RenderEngine/UwURenderEngine.hpp"
|
||||
#include "Core/CoreInstance.hpp"
|
||||
#include "Game/GameInstance.hpp"
|
||||
#include "Game/SaveMap/SaveMap.hpp"
|
||||
#include "Game/World/World.hpp"
|
||||
|
||||
Camera::Camera()
|
||||
{
|
||||
SetType(Classes::Camera);
|
||||
}
|
||||
|
||||
std::shared_ptr<SaveMap> Camera::save()
|
||||
{
|
||||
return std::make_shared<SaveMap>("Camera")->connect_to(Actor::save());
|
||||
}
|
||||
|
||||
void Camera::load(std::shared_ptr<SaveMap> save)
|
||||
{
|
||||
Actor::load(save->getParent());
|
||||
}
|
||||
|
||||
void Camera::SetActive() const noexcept
|
||||
{
|
||||
GET_RENDER_ENGINE->SetActiveCamera(GetWorld()->GetActorByID<Camera>(GetName()));
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
#include "RTTI_Meta.h"
|
||||
#include "Game/Actors/Actor.hpp"
|
||||
|
||||
GENERATE_META(Camera)
|
||||
|
||||
class Camera : public Actor
|
||||
{
|
||||
public:
|
||||
Camera();
|
||||
|
||||
std::shared_ptr<SaveMap> save() override;
|
||||
void load(std::shared_ptr<SaveMap> save) override;
|
||||
|
||||
void SetActive() const noexcept;
|
||||
};
|
||||
@@ -24,7 +24,7 @@ void StaticMesh::load(std::shared_ptr<SaveMap> save)
|
||||
void StaticMesh::load_model(const std::string& model_name)
|
||||
{
|
||||
model_name_ = model_name;
|
||||
model_ = static_cast<UwURenderEngine*>(GetWorld()->GetGameInstance().GetCore().GetRenderEngine())->GetModelManager()->LoadModel(model_name);
|
||||
model_ = GET_RENDER_ENGINE->GetModelManager()->LoadModel(model_name);
|
||||
SetModelName(model_name);
|
||||
}
|
||||
|
||||
@@ -32,5 +32,5 @@ void StaticMesh::OnDestroy()
|
||||
{
|
||||
Mesh::OnDestroy();
|
||||
|
||||
static_cast<UwURenderEngine*>(GetWorld()->GetGameInstance().GetCore().GetRenderEngine())->GetModelManager()->FreeModel(model_name_);
|
||||
GET_RENDER_ENGINE->GetModelManager()->FreeModel(model_name_);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user