40 lines
813 B
C++
40 lines
813 B
C++
#pragma once
|
|
#include "Common.h"
|
|
#include "Python.h"
|
|
#include "structmember.h"
|
|
#include "IndexTexture.h"
|
|
#include "Resources.h"
|
|
#include <list>
|
|
|
|
#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<UIGrid> grid;
|
|
std::vector<UIGridPointState> 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<UIEntity> data;
|
|
//PyObject* texture;
|
|
} PyUIEntityObject;
|