52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#pragma once
|
|
#include "WorkspaceInstance.h"
|
|
#include "LevelInstance.h"
|
|
#include "PartInstance.h"
|
|
#include "rapidxml/rapidxml.hpp"
|
|
|
|
class DataModelInstance :
|
|
public Instance
|
|
{
|
|
public:
|
|
DataModelInstance(void);
|
|
~DataModelInstance(void);
|
|
void setMessage(std::string);
|
|
void setMessageBrickCount();
|
|
void clearMessage();
|
|
bool debugGetOpen();
|
|
bool getOpen();
|
|
bool load(const char* filename,bool clearObjects);
|
|
bool readXMLFileStream(std::ifstream* file);
|
|
void drawMessage(RenderDevice*);
|
|
WorkspaceInstance* getWorkspace();
|
|
WorkspaceInstance* workspace;
|
|
LevelInstance * level;
|
|
LevelInstance * getLevel();
|
|
Instance* guiRoot;
|
|
std::string message;
|
|
std::string _loadedFileName;
|
|
bool showMessage;
|
|
G3D::GFontRef font;
|
|
Instance* getGuiRoot();
|
|
float mousex;
|
|
float mousey;
|
|
Vector2 getMousePos();
|
|
void setMousePos(int x,int y);
|
|
void setMousePos(Vector2 pos);
|
|
bool mouseButton1Down;
|
|
PartInstance* makePart();
|
|
void clearLevel();
|
|
#if _DEBUG
|
|
void modXMLLevel(float modY);
|
|
#endif
|
|
private:
|
|
bool isBrickCount;
|
|
bool scanXMLObject(rapidxml::xml_node<>* node);
|
|
rapidxml::xml_node<>* getNode(rapidxml::xml_node<> * node,const char* name );
|
|
float getFloatValue(rapidxml::xml_node<> * node,const char* name);
|
|
bool _successfulLoad;
|
|
std::string _errMsg;
|
|
bool _legacyLoad;
|
|
float _modY;
|
|
};
|