-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCreationTool.h
45 lines (40 loc) · 1.17 KB
/
CreationTool.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#pragma once
#include "d3dUtil.h"
#include "Gwen/Controls/CollapsibleCategory.h"
#include "ModelLoaderXML.h"
// Forward declarations.
#pragma region Forward declarations.
namespace GLib {
class Graphics;
class Input;
class ModelImporter;
class Object3D;
class World;
class StaticObject;
class AnimatedObject;
class LightObject;
}
class Editor;
#pragma endregion
class CreationTool : public Gwen::Controls::CollapsibleCategory
{
public:
CreationTool(Gwen::Controls::Base* pParent, GLib::World* pWorld, GLib::ModelImporter* pModelImporter);
~CreationTool();
void BuildSpawnList();
void Update(GLib::Input* pInput, float dt);
void Draw(GLib::Graphics* pGraphics);
GLib::StaticObject* CreateStaticModel(XMFLOAT3 position, ModelData data);
GLib::AnimatedObject* CreateAnimatedModel(XMFLOAT3 position, ModelData data);
GLib::LightObject* CreateLightObject(XMFLOAT3 position);
void OnSelectChange(Gwen::Controls::Base* pControl);
void SetEditor(Editor* pEditor);
bool IsCreatingModel();
private:
ModelLoaderXML* mModelLoaderXML;
GLib::World* mWorld;
GLib::Object3D* mPreviewObject;
GLib::ModelImporter*mModelImporter;
Editor* mEditor;
bool mModelSelected;
};