#ifndef Editor_h__ #define Editor_h__ #include #include #include #include #include #include #include #include #include #include "GUINodeContainer.h" #include "GUIShaderNode.h" #include #include #include #include #include #include #include "GUINodeList.h" #include struct NodeInfo { String Name; String ClassName; NodeInfo(const String& name, const String& className) { Name = name; ClassName = className; } }; class Editor : public IKeyListener { public: Editor(); ~Editor(); void Run(); bool KeyDown( Key key, unsigned int text, const std::string& str ); bool KeyUp( Key key, unsigned int text, const std::string& str ); bool MouseMove( int absX, int relX, int absY, int relY); bool MousePressed(Core::MouseKey key); bool MouseReleased(Core::MouseKey key); private: void OnCompileShader(GUIWindow* wnd, int p); void OnSaveGraph(GUIWindow* wnd, int p); void OnLoadGraph(GUIWindow* wnd, int p); void OnGraphNodeDelete(GUINodeContainer* container, GUIShaderNode* node); std::vector node_info; GUINodeList* node_list; IShaderGraph* sg; texture_ptr material_textures[16]; GUIShaderNode* AddNode(const String& name); void OnAddNode( GUIWindow* w, const String& s, void* d); void OnResizeOutput(GUIWindow* wnd); void menu_exit(GUIMenuItem* m); GUIProgress* progress; GUISlider* slider; GUIText* time_info; void SwitchPlayback(GUIWindow* wnd, int t); Sound::SoundSystem* sndSystem; Sound::ISound* snd; void AddShaderLink(GUIShaderNodeIO* left, GUIShaderNodeIO* right); void OnButtonClick(GUIWindow* wnd, int key); void OnScroll(GUIScroll* wnd, int key); LifeEngine* pGraphics; RenderWindowWin* pWindow; void DoLogics(); void DoRendering(); void DoCleanup(); void SetTrackPosition(GUIWindow* sender, int args); bool bRunning; Core::IFileSystem* fileSystem; FrameCounter frame_counter; GUIButton* b2; GUIPicture* sceneOutput; GUINodeContainer* nodeContainer; InputSystemOIS* pInput; Video::IObjectMesh* tower; GUIPropertyGrid* propGrid; }; #endif // Editor_h__