I've added code in preparation to loading a file including a Level to the LevelSystem to the game. Not done at all.

This commit is contained in:
PlatinumSkink
2015-09-10 14:08:16 +02:00
3 changed files with 48 additions and 7 deletions
+30 -5
View File
@@ -25,7 +25,7 @@
#include "Texture.h" #include "Texture.h"
#include "EventBroker.h" #include "EventBroker.h"
#include "RenderQueue.h" #include "RenderQueue.h"
#include "BGFXRenderer.h" #include "Renderer.h"
#include "InputManager.h" #include "InputManager.h"
//TODO: Remove includes that are only here for the temporary draw solution. //TODO: Remove includes that are only here for the temporary draw solution.
#include "World.h" #include "World.h"
@@ -45,9 +45,9 @@ public:
{ {
m_EventBroker = std::make_shared<EventBroker>(); m_EventBroker = std::make_shared<EventBroker>();
m_Renderer = std::make_shared<BGFXRenderer>(); m_Renderer = std::make_shared<Renderer>();
m_Renderer->SetFullscreen(false); m_Renderer->SetFullscreen(false);
m_Renderer->SetResolution(Rectangle(0, 0, 1280, 720)); m_Renderer->SetResolution(Rectangle(0, 0, 1920, 1080));
m_Renderer->Initialize(); m_Renderer->Initialize();
m_InputManager = std::make_shared<InputManager>(m_Renderer->Window(), m_EventBroker); m_InputManager = std::make_shared<InputManager>(m_Renderer->Window(), m_EventBroker);
@@ -58,17 +58,28 @@ public:
m_World->ComponentFactory.Register<Components::Transform>(); m_World->ComponentFactory.Register<Components::Transform>();
m_World->SystemFactory.Register<Systems::TransformSystem>([this]() { return new Systems::TransformSystem(m_World.get(), m_EventBroker); }); m_World->SystemFactory.Register<Systems::TransformSystem>([this]() { return new Systems::TransformSystem(m_World.get(), m_EventBroker); });
m_World->AddSystem<Systems::TransformSystem>(); m_World->AddSystem<Systems::TransformSystem>();
<<<<<<< HEAD
m_World->SystemFactory.Register<Systems::LevelSystem>([this]() { return new Systems::LevelSystem(m_World.get(), m_EventBroker); }); m_World->SystemFactory.Register<Systems::LevelSystem>([this]() { return new Systems::LevelSystem(m_World.get(), m_EventBroker); });
m_World->AddSystem<Systems::LevelSystem>(); m_World->AddSystem<Systems::LevelSystem>();
=======
>>>>>>> origin/master
m_World->ComponentFactory.Register<Components::Model>(); m_World->ComponentFactory.Register<Components::Model>();
m_World->ComponentFactory.Register<Components::Template>(); m_World->ComponentFactory.Register<Components::Template>();
m_World->Initialize(); m_World->Initialize();
<<<<<<< HEAD
// auto ent = m_World->CreateEntity(); // auto ent = m_World->CreateEntity();
// std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(ent); // std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(ent);
// transform->Position = glm::vec3(0.f, 0.f, -10.f); // transform->Position = glm::vec3(0.f, 0.f, -10.f);
// std::shared_ptr<Components::Model> model = m_World->AddComponent<Components::Model>(ent); // std::shared_ptr<Components::Model> model = m_World->AddComponent<Components::Model>(ent);
// model->ModelFile = "Models/Core/UnitSphere.obj"; // model->ModelFile = "Models/Core/UnitSphere.obj";
=======
auto ent = m_World->CreateEntity();
std::shared_ptr<Components::Transform> transform = m_World->AddComponent<Components::Transform>(ent);
transform->Position = glm::vec3(0.f, 0.f, -10.f);
std::shared_ptr<Components::Model> model = m_World->AddComponent<Components::Model>(ent);
model->ModelFile = "Models/Core/UnitSphere.obj";
>>>>>>> origin/master
m_LastTime = glfwGetTime(); m_LastTime = glfwGetTime();
@@ -88,6 +99,7 @@ public:
m_InputManager->Update(dt); m_InputManager->Update(dt);
m_World->Update(dt); m_World->Update(dt);
<<<<<<< HEAD
// //
// if (glfwGetKey(m_Renderer->Window(), GLFW_KEY_R)) { // if (glfwGetKey(m_Renderer->Window(), GLFW_KEY_R)) {
// ResourceManager::Reload("Shaders/Deferred/3/Fragment.glsl"); // ResourceManager::Reload("Shaders/Deferred/3/Fragment.glsl");
@@ -99,6 +111,19 @@ public:
// Render scene // Render scene
//TODO send renderqueue to draw. //TODO send renderqueue to draw.
// m_Renderer->Draw(m_RendererQueue); // m_Renderer->Draw(m_RendererQueue);
=======
if (glfwGetKey(m_Renderer->Window(), GLFW_KEY_R)) {
ResourceManager::Reload("Shaders/Deferred/3/Fragment.glsl");
}
//TODO Fill up the renderQueue with models (Temp fix)
TEMPAddToRenderQueue();
// Render scene
//TODO send renderqueue to draw.
m_Renderer->Draw(m_RendererQueue);
>>>>>>> origin/master
// Swap event queues // Swap event queues
m_EventBroker->Clear(); m_EventBroker->Clear();
@@ -172,9 +197,9 @@ public:
} }
private: private:
//std::shared_ptr<ResourceManager> m_ResourceManager; std::shared_ptr<ResourceManager> m_ResourceManager;
std::shared_ptr<EventBroker> m_EventBroker; std::shared_ptr<EventBroker> m_EventBroker;
std::shared_ptr<BGFXRenderer> m_Renderer; std::shared_ptr<Renderer> m_Renderer;
RenderQueueCollection m_RendererQueue; RenderQueueCollection m_RendererQueue;
std::shared_ptr<InputManager> m_InputManager; std::shared_ptr<InputManager> m_InputManager;
std::shared_ptr<World> m_World; std::shared_ptr<World> m_World;
+16 -1
View File
@@ -9,6 +9,9 @@
#include "Core/CTransform.h" #include "Core/CTransform.h"
//#include "Rendering/CSprite.h" //#include "Rendering/CSprite.h"
#include "Core/EventBroker.h" #include "Core/EventBroker.h"
#include <fstream>
#include <iostream>
#include <intrin.h>
namespace dd namespace dd
{ {
@@ -16,6 +19,17 @@ namespace dd
namespace Systems namespace Systems
{ {
// Me trying things out.
class Level
{
public:
int levelRows;
int levelLines;
int levelSpaceBetweenBricks;
int levelSpaceToEdge;
int bricks[];
};
class LevelSystem : public System class LevelSystem : public System
{ {
public: public:
@@ -26,6 +40,8 @@ public:
void Initialize() override; void Initialize() override;
void CreateBasicLevel(int, int, int, int); void CreateBasicLevel(int, int, int, int);
void SaveLevel(int, int, int, int); // Shouldn't be here, but I'm experimenting.
void LoadLevel(char[20]);
void CreateBrick(int, int, int, int); void CreateBrick(int, int, int, int);
void ProcessCollision(); void ProcessCollision();
@@ -37,7 +53,6 @@ public:
private: private:
int numberOfBricks; int numberOfBricks;
EntityID bricks[];
int tRows = 8; int tRows = 8;
int tLines = 8; int tLines = 8;
int tSpaceBetweenBricks = 30; int tSpaceBetweenBricks = 30;
+2 -1
View File
@@ -37,6 +37,7 @@ void main()
vec4 LightingTexel = texture(LightingTexture, Input.TextureCoord); vec4 LightingTexel = texture(LightingTexture, Input.TextureCoord);
//frag_Diffuse = DiffuseTexel * (vec4(La, 0.0) * (vec4(LightingTexel.rgb, 0.0) + vec4(LightingTexel.a, LightingTexel.a, LightingTexel.a, 0.0))); //frag_Diffuse = DiffuseTexel * (vec4(La, 0.0) * (vec4(LightingTexel.rgb, 0.0) + vec4(LightingTexel.a, LightingTexel.a, LightingTexel.a, 0.0)));
frag_Diffuse = DiffuseTexel * (vec4(La, 0.0) + LightingTexel); //frag_Diffuse = DiffuseTexel * (vec4(La, 0.0) + LightingTexel);
frag_Diffuse = DiffuseTexel;
//frag_Diffuse = vec4(LightingTexel.r, LightingTexel.g, LightingTexel.b, 1.0); //frag_Diffuse = vec4(LightingTexel.r, LightingTexel.g, LightingTexel.b, 1.0);
} }