diff --git a/TSE b/TSE index 2f3fdf8..330d4b2 160000 --- a/TSE +++ b/TSE @@ -1 +1 @@ -Subproject commit 2f3fdf83ae48f8eb638afbff2299a86a86e0b2d5fdf345ba35e1c4b1729de03a +Subproject commit 330d4b26dceb9585fbdc4709d4c8e1a3b6403bf8cfb7d81d64bfcd4c8f060895 diff --git a/TSE-RTS/Resources/Iso64DirtGrassRails.aseprite b/TSE-RTS/Resources/Iso64DirtGrassRails.aseprite new file mode 100755 index 0000000..761d945 Binary files /dev/null and b/TSE-RTS/Resources/Iso64DirtGrassRails.aseprite differ diff --git a/TSE-RTS/Resources/tiles.png b/TSE-RTS/Resources/tiles.png new file mode 100644 index 0000000..deeb8e2 Binary files /dev/null and b/TSE-RTS/Resources/tiles.png differ diff --git a/TSE-RTS/src/game.cpp b/TSE-RTS/src/game.cpp new file mode 100644 index 0000000..1f537ca --- /dev/null +++ b/TSE-RTS/src/game.cpp @@ -0,0 +1,32 @@ +#include "game.hpp" +#include "elements/Transformable.hpp" +#include "BehaviourScripts/TileMap.hpp" +#include "BehaviourScripts/Renderable.hpp" +#include "elements/ShaderRegistry.hpp" + +void game::setup(TSE::Scene* s) +{ + using namespace TSE; + s->AddLayer(&gameLayer); + + Transformable* tileMap = new Transformable("tileMap"); + gameLayer.AddTransformable(tileMap); + Texture* setTexture = new Texture("tiles.png"); + TileSet* set = new TileSet(setTexture, 10, 10); + TileMap* map = new TileMap(); + map->set = set; + + for (int x = -64; x < 64; x++) + { + for (int y = -64; y < 64; y++) + { + map->SetTile(Vector2(x, y), {0,9}); + } + } + + Material* tileMapMaterial = new Material("tileSetMat", ShaderRegistry::GetShader("Basic Unlit TileMap Shader")); + Renderable* rnd = new Renderable(tileMapMaterial); + + tileMap->AddBehaviourScript(map); + tileMap->AddBehaviourScript(rnd); +} \ No newline at end of file diff --git a/TSE-RTS/src/game.hpp b/TSE-RTS/src/game.hpp new file mode 100644 index 0000000..9eda776 --- /dev/null +++ b/TSE-RTS/src/game.hpp @@ -0,0 +1,10 @@ +#pragma once +#include "elements/Scene.hpp" + +class game +{ + public: + inline static TSE::Layer gameLayer = TSE::Layer("gameLayer"); + + static void setup(TSE::Scene* s); +}; \ No newline at end of file diff --git a/TSE-RTS/src/main.cpp b/TSE-RTS/src/main.cpp index 8f8b216..0a72ff1 100644 --- a/TSE-RTS/src/main.cpp +++ b/TSE-RTS/src/main.cpp @@ -14,6 +14,7 @@ #include "elements/Layer.hpp" #include "elements/Scene.hpp" #include "EditorSubsystem.hpp" +#include "game.hpp" #define USE_EDITOR @@ -41,7 +42,7 @@ void SetupWindow() rend = new DefaultRendererOpenGL(*BasicShader::Instance()); currentScene = new Scene(); - + game::setup(currentScene); #ifdef USE_EDITOR currentScene->AddLayer(&editor->editorLayer);