Didn't work. Let's try again.

This commit is contained in:
PlatinumSkink
2015-09-17 15:28:57 +02:00
parent dcb23bd199
commit b3335cff05
12 changed files with 304 additions and 78 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ namespace dd
#include <memory>
#include <map>
#include "Util/Rectangle.h"
#include "Core/Util/Rectangle.h"
#include "Core/EventBroker.h"
#include "Core/EKeyDown.h"
#include "Core/EKeyUp.h"
+14 -14
View File
@@ -8,13 +8,13 @@
#include "GUI/Frame.h"
#include "GUI/MainMenuFrame.h"
//#include "GUI/WorldFrame.h"
//#include "GUI/Viewport.h"
#include "GUI/Viewport.h"
#include "GUI/TextureFrame.h"
//#include "GUI/PlayerHUD.h"
//#include "GameWorld.h"
#include "Game/EGameStart.h"
//#include "Events/GameOver.h"
#include "Game/EGameOver.h"
//#include "Events/Dead.h"
namespace dd
@@ -27,8 +27,8 @@ namespace dd
: Frame(parent, name)
, m_GameOver(false)
{
EVENT_SUBSCRIBE_MEMBER(m_EGameStart, &GUI::GameFrame::OnGameStart);
EVENT_SUBSCRIBE_MEMBER(m_EGameOver, &GUI::GameFrame::OnGameOver);
EVENT_SUBSCRIBE_MEMBER(m_EGameStart, &dd::GameFrame::OnGameStart);
EVENT_SUBSCRIBE_MEMBER(m_EGameOver, &dd::GameFrame::OnGameOver);
//m_World = std::make_shared<GameWorld>(EventBroker, ResourceManager);
/*m_WorldFrame = new WorldFrame(this, "GameWorldFrame", m_World);
@@ -46,8 +46,8 @@ namespace dd
m_FreeCamViewport = new Viewport(m_WorldFrame, "ViewportFreeCam", m_World);
m_FreeCamViewport->Hide();
}*/
m_WorldFrame->Hide();
m_World->Initialize();
//m_WorldFrame->Hide();
//m_World->Initialize();
m_MainMenuFrame = new MainMenuFrame(this, "MainMenu");
}
@@ -56,11 +56,11 @@ namespace dd
EventRelay<Frame, dd::Events::GameStart> m_EGameStart;
bool OnGameStart(const dd::Events::GameStart &event)
{
m_WorldFrame->Show();
//m_WorldFrame->Show();
return true;
}
/*EventRelay<Frame, Events::GameOver> m_EGameOver;
EventRelay<Frame, Events::GameOver> m_EGameOver;
bool OnGameOver(const Events::GameOver &event)
{
m_GameOver = true;
@@ -68,15 +68,15 @@ namespace dd
return true;
}
std::shared_ptr<GameWorld> m_World;
//std::shared_ptr<GameWorld> m_World;
MainMenuFrame* m_MainMenuFrame;
WorldFrame* m_WorldFrame;
Viewport* vp1;
Viewport* vp2;
Viewport* m_FreeCamViewport;
//WorldFrame* m_WorldFrame;
//Viewport* vp1;
//Viewport* vp2;
//Viewport* m_FreeCamViewport;
bool m_GameOver;*/
bool m_GameOver;
bool OnKeyUp(const dd::Events::KeyUp &event) override
{
+3 -3
View File
@@ -49,7 +49,7 @@ public:
Texture *Texture() const { return m_Texture; }
void SetTexture(std::string resourceName) {
m_Texture = ResourceManager->Load<::Texture>("Texture", resourceName);
m_Texture = ResourceManager->Load<dd::Texture>("Texture", resourceName);
}
void FadeToTexture(std::string resourceName, double duration) {
@@ -75,8 +75,8 @@ public:
void SetColor(glm::vec4 val) { m_Color = val; }
protected:
Texture *m_Texture;
Texture *m_FadeTexture;
dd::Texture *m_Texture;
dd::Texture *m_FadeTexture;
glm::vec4 m_Color;
float m_FadeDuration;
float m_CurrentFade;
+47 -51
View File
@@ -15,70 +15,66 @@
#include "Core/RenderQueue.h"
#include "Core/Camera.h"
namespace GUI
namespace dd
{
class Viewport : public Frame
{
public:
Viewport(Frame* parent, std::string name, std::shared_ptr<World> world)
: Frame(parent, name)
, m_World(world)
{ }
class Viewport : public Frame
{
public:
Viewport(Frame *parent, std::string name, std::shared_ptr<dd::World> world)
: Frame(parent, name), m_World(world) { }
EntityID CameraEntity() const { return m_CameraEntity; }
void SetCameraEntity(EntityID cameraEntity)
{
m_CameraEntity = cameraEntity;
auto transformComponent = m_World->GetComponent<Components::Transform>(cameraEntity);
if (!transformComponent)
return;
auto cameraComponent = m_World->GetComponent<Components::Camera>(cameraEntity);
if (!cameraComponent)
return;
EntityID CameraEntity() const { return m_CameraEntity; }
m_Camera = std::make_shared<Camera>(cameraComponent->FOV, cameraComponent->NearClip, cameraComponent->FarClip);
}
void SetCameraEntity(EntityID cameraEntity) {
m_CameraEntity = cameraEntity;
auto transformComponent = m_World->GetComponent<dd::Components::Transform>(cameraEntity);
if (!transformComponent)
return;
auto cameraComponent = m_World->GetComponent<dd::Components::Camera>(cameraEntity);
if (!cameraComponent)
return;
m_FrameCamera = std::make_shared<dd::Camera>(cameraComponent->FOV, cameraComponent->NearClip, cameraComponent->FarClip);
}
void Update(double dt) override
{
if (!m_TransformSystem)
m_TransformSystem = m_World->GetSystem<Systems::TransformSystem>();
void Update(double dt) override {
if (!m_TransformSystem)
m_TransformSystem = m_World->GetSystem<dd::Systems::TransformSystem>();
auto transformComponent = m_World->GetComponent<Components::Transform>(m_CameraEntity);
if (!transformComponent)
return;
auto transformComponent = m_World->GetComponent<dd::Components::Transform>(m_CameraEntity);
if (!transformComponent)
return;
auto cameraComponent = m_World->GetComponent<Components::Camera>(m_CameraEntity);
if (!cameraComponent)
return;
auto cameraComponent = m_World->GetComponent<dd::Components::Camera>(m_CameraEntity);
if (!cameraComponent)
return;
Components::Transform absoluteTransform = m_TransformSystem->AbsoluteTransform(m_CameraEntity);
dd::Components::Transform absoluteTransform = m_TransformSystem->AbsoluteTransform(m_CameraEntity);
m_Camera->SetFOV(cameraComponent->FOV);
m_Camera->SetNearClip(cameraComponent->NearClip);
m_Camera->SetFarClip(cameraComponent->FarClip);
m_Camera->SetPosition(absoluteTransform.Position);
m_Camera->SetOrientation(absoluteTransform.Orientation);
}
m_FrameCamera->SetFOV(cameraComponent->FOV);
m_FrameCamera->SetNearClip(cameraComponent->NearClip);
m_FrameCamera->SetFarClip(cameraComponent->FarClip);
m_FrameCamera->SetPosition(absoluteTransform.Position);
m_FrameCamera->SetOrientation(absoluteTransform.Orientation);
}
void Draw(std::shared_ptr<Renderer> renderer) override
{
if (!m_Camera)
return;
void Draw(std::shared_ptr<dd::Renderer> renderer) override {
if (!m_FrameCamera)
return;
renderer->SetCamera(m_Camera);
renderer->SetViewport(AbsoluteRectangle());
renderer->DrawWorld(m_Parent->RenderQueue);
}
renderer->SetCamera(m_FrameCamera);
renderer->SetViewport(AbsoluteRectangle());
renderer->DrawWorld(m_Parent->RenderQueue);
}
private:
std::shared_ptr<World> m_World;
std::shared_ptr<Systems::TransformSystem> m_TransformSystem;
std::shared_ptr<Camera> m_Camera;
EntityID m_CameraEntity;
};
private:
std::shared_ptr<dd::World> m_World;
std::shared_ptr<dd::Systems::TransformSystem> m_TransformSystem;
std::shared_ptr<dd::Camera> m_FrameCamera;
EntityID m_CameraEntity;
};
}