#pragma once #include "Common.h" #include "Python.h" #include "structmember.h" #include "IndexTexture.h" #include "Resources.h" #include #include "PyCallable.h" #include "PyTexture.h" #include "PyColor.h" #include "PyVector.h" #include "PyFont.h" #include "UIGridPoint.h" #include "UIDrawable.h" class UIGrid; // TODO: make UIEntity a drawable class UIEntity//: public UIDrawable { public: //PyObject* self; std::shared_ptr grid; std::vector gridstate; UISprite sprite; sf::Vector2f position; //(x,y) in grid coordinates; float for animation void render(sf::Vector2f); //override final; UIEntity(); UIEntity(UIGrid&); }; typedef struct { PyObject_HEAD std::shared_ptr data; //PyObject* texture; } PyUIEntityObject;