Skip to content
Snippets Groups Projects
Select Git revision
  • 5e2536e4517c3f4041083c18b82b76598d805745
  • master default protected
2 results

mainGame.h

Blame
  • user avatar
    KosmX authored
    5e2536e4
    History
    mainGame.h 1.13 KiB
    #pragma once
    #include "olcPixelGameEngine.h"
    #include "DynamicArray.hpp"
    #include <memory>
    #include "Entity.h"
    #include "PlayerEntity.h"
    
    
    class GameClient :
        public olc::PixelGameEngine
    {
    private:
    	static GameClient* instance;
    	static GameClient& createInstance(bool debug);
    	//I want it to me a singleton, but I don't want to let anything init this
    	friend int main(int, char* []);
    	olc::vf2d viewArea = {-2, -2};
    	//olc::vf2d viewScale = {2, 2};
    	bool debug;
    	olc::TransformedView scene;
    	std::shared_ptr<entities::PlayerEntity>	player;
    	void updateWorldOffset(float dTick);
    public:
    	static GameClient& getInstance();
    
    // real class stuff
    private:
    	DynamicArray<std::shared_ptr<entities::Entity>> entities;
    
    	
    public:
    	GameClient(bool debug = false);
    
    	DynamicArray<std::shared_ptr<entities::Entity>>& getEntities();
    	
    	bool OnUserCreate() override;
    
    	bool OnUserUpdate(float fElapsedTime) override;
    
    	void setDebugMode(bool bl = true);
    	
    	void addEntity(std::shared_ptr<entities::Entity>& entity);
    
    	GameClient& operator+=(std::shared_ptr<entities::Entity> entity);
     
    	//for some reason, probably I won't need it
    	//bool OnUserDestroy() override;
    };