00001 /************************************************************************/ 00002 /* Ex Nihlo Engine by Hermanns Christophe */ 00003 /************************************************************************/ 00004 /* This program is free software; you can redistribute it and/or */ 00005 /* modify it under the terms of the GNU General Public License */ 00006 /* as published by the Free Software Foundation; either version 2 */ 00007 /* of the License, or (at your option) any later version. */ 00008 /* */ 00009 /* This program is distributed in the hope that it will be useful, */ 00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ 00012 /* */ 00013 /* See the GNU General Public License for more details. */ 00014 /* */ 00015 /* You should have received a copy of the GNU General Public License */ 00016 /* along with this program; if not, write to the Free Software */ 00017 /* Foundation, Inc., 59 Temple Place - Suite 330, */ 00018 /* Boston, MA 02111-1307, USA. */ 00019 /* */ 00020 /* If you use a important part of this code please send me a mail */ 00021 /* I just want to see where my code go thks :) */ 00022 /************************************************************************/ 00023 00024 /************************************************************************/ 00025 /* Contact */ 00026 /************************************************************************/ 00027 /* ExNihilo Website :www.ploksoftware.org */ 00028 /* */ 00029 /* Hermanns Christophe ExNihilo creator and main programmer */ 00030 /* */ 00031 /* Mail : Data@ploksoftware.org */ 00032 /* ICQ : 8030901 */ 00033 /* MSN Messenger : Data_7@hotmail.com */ 00034 /* */ 00035 /* */ 00036 /************************************************************************/ 00037 00038 /************************************************************************/ 00039 /* File Description */ 00040 /************************************************************************/ 00041 /* File Name :InputActionList.h */ 00042 /* */ 00043 /* Start Date :03/15/2002 */ 00044 /* */ 00045 /* Last Update :06/20/2003 */ 00046 /* */ 00047 /* File Description : */ 00048 /* */ 00049 /* For update of this file check : www.ploksoftware.org */ 00050 /************************************************************************/ 00051 00052 #ifndef __EXMANAGEROUTPUT_H__ 00053 #define __EXMANAGEROUTPUT_H__ 00054 //------------------------------------------------------------------------ 00055 //Includes 00056 //------------------------------------------------------------------------ 00057 #include "ExDefine.h" 00058 #include "ExNihiloNameSpace.h" 00059 //------------------------------------------------------------------------ 00060 #include "Math/ExMath.h" 00061 //------------------------------------------------------------------------ 00062 #include "Manager/ExManager.h" 00063 #include "Manager/ExManagerWindow.h" 00064 #include "Manager/ExManagerCollision.h" 00065 #include "Manager/ExManagerFog.h" 00066 #include "Manager/ExManagerCommand.h" 00067 #include "Manager/ExManagerConsole.h" 00068 #include "Manager/ExManagerSpecialEffect.h" 00069 #include "Manager/ExManagerMap.h" 00070 #include "Manager/ExManagerNetwork.h" 00071 #include "Manager/ExManagerPVS.h" 00072 //------------------------------------------------------------------------ 00073 #include "Manager/ManagerObject/ExManagerInterface.h" 00074 #include "Manager/ManagerObject/ExManagerSpirit.h" 00075 #include "Manager/ManagerObject/ExManagerAnimation.h" 00076 #include "Manager/ManagerObject/ExManagerCamera.h" 00077 #include "Manager/ManagerObject/ExManagerModele.h" 00078 #include "Manager/ManagerObject/ExManagerGizmo.h" 00079 #include "Manager/ManagerObject/ExManagerParticuleSystem.h" 00080 #include "Manager/ManagerObject/ExManagerLight.h" 00081 #include "Manager/ManagerObject/ExManagerVertexProgram.h" 00082 #include "Manager/ManagerObject/ExManagerObjectWindow.h" 00083 #include "Manager/ManagerObject/ExManagerLoad.h" 00084 #include "Manager/ManagerObject/ExManagerLight.h" 00085 //------------------------------------------------------------------------ 00086 class ExManagerOutput : public ExManager 00087 { 00088 private: 00089 //------------------------------------------------------------------------ 00090 // Variable 00091 //------------------------------------------------------------------------ 00092 ExManagerCollision *ManagerCollision; 00093 ExManagerFog *ManagerFog; 00094 ExManagerAnimation *ManagerAnimation; 00095 ExManagerWindow *ManagerWindow; 00096 ExManagerCommand *ManagerCommand; 00097 ExManagerConsole *ManagerConsole; 00098 00099 ExManagerInterface *ManagerInterface; 00100 ExManagerSpirit *ManagerSpirit; 00101 00102 ExManagerMap *ManagerMap; 00103 ExManagerCamera *ManagerCamera; 00104 ExManagerModel *ManagerModel; 00105 ExManagerGizmo *ManagerGizmo; 00106 ExManagerParticuleSystem *ManagerParticuleSystem; 00107 ExManagerLight *ManagerLight; 00108 ExManagerNetwork *ManagerNetwork; 00109 ExManagerVertexProgram *ManagerVertexProgram; 00110 ExManagerObjectWindow *ManagerObjectWindow; 00111 ExManagerSpecialEffect *ManagerSpecialEffect; 00112 ExManagerPVS *ManagerPVS; 00113 ExManagerLoad *ManagerLoad; 00114 //------------------------------------------------------------------------ 00115 // Singleton creation 00116 //------------------------------------------------------------------------ 00117 static bool m_flag; 00118 static ExManagerOutput *m_instance; 00119 ExManagerOutput(void); 00120 ~ExManagerOutput(void); 00121 public: 00122 //------------------------------------------------------------------------ 00123 // Methode 00124 //------------------------------------------------------------------------ 00125 static ExManagerOutput* CreateSingleton(void); 00126 00127 inline void SetManagerCollision(ExManagerCollision *Collision){ManagerCollision = Collision;} 00128 inline void SetManagerFog(ExManagerFog *Fog){ManagerFog = Fog;} 00129 inline void SetManagerAnim(ExManagerAnimation *Anim){ManagerAnimation = Anim;} 00130 inline void SetManagerWindow(ExManagerWindow *Window){ManagerWindow = Window;} 00131 inline void SetManagerCommand(ExManagerCommand *Command){ManagerCommand = Command;} 00132 inline void SetManagerConsole(ExManagerConsole * Console){ManagerConsole=Console;} 00133 inline void SetManagerInterface(ExManagerInterface * Interface){ManagerInterface=Interface;} 00134 inline void SetManagerSpirit(ExManagerSpirit * Spirit){ManagerSpirit=Spirit;} 00135 inline void SetManagerMap(ExManagerMap *Map){ManagerMap = Map;} 00136 inline void SetManagerCamera(ExManagerCamera *Cam){ManagerCamera = Cam;} 00137 inline void SetManagerModel(ExManagerModel *Model){ManagerModel = Model;} 00138 inline void SetManagerGizmo(ExManagerGizmo *Gizmo){ManagerGizmo = Gizmo;} 00139 inline void SetManagerParticuleSystem(ExManagerParticuleSystem *ParticuleSystem){ManagerParticuleSystem = ParticuleSystem;} 00140 inline void SetManagerLight(ExManagerLight *Light){ManagerLight = Light;} 00141 inline void SetManagerNetwork(ExManagerNetwork *Network){ManagerNetwork = Network;} 00142 inline void SetManagerVertexProgram(ExManagerVertexProgram *VertexProgram){ManagerVertexProgram = VertexProgram;} 00143 inline void SetManagerObjectWindow(ExManagerObjectWindow *ObjectWindow){ManagerObjectWindow = ObjectWindow;} 00144 inline void SetManagerSpecialEffect(ExManagerSpecialEffect *SpecialEffect){ManagerSpecialEffect = SpecialEffect;} 00145 inline void SetManagerPVS(ExManagerPVS *PVS){ManagerPVS = PVS;} 00146 inline void SetManagerLoad(ExManagerLoad *Load){ManagerLoad = Load;} 00147 00148 void Reset(void); 00149 void Init(void); 00150 void DrawScene(void); 00151 void Reshape(int w,int h); 00152 }; 00153 //------------------------------------------------------------------------ 00154 #endif //__EXMANAGEROUTPUT_H__