Page principale   Liste des namespaces   Hiérarchie des classes   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Membres des namespaces   Composants   Déclarations  

ExManagerParticuleSystem.cpp

Aller à la documentation de ce fichier.
00001 /*
00002  * ExNihilo 3D Engine
00003  * 
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (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.  See the
00012  *  GNU Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  *
00018  * Please read AUTHORS file !!!
00019  * 
00020  * $Id: ExManagerParticuleSystem.cpp,v 1.17 2002/11/24 11:58:58 data Exp $
00021  *
00022  */
00023 #include "ExManagerParticuleSystem.h"
00024 
00025 bool ExManagerParticuleSystem::m_flag = false; 
00026 ExManagerParticuleSystem* ExManagerParticuleSystem::m_instance = NULL; 
00027 
00028 ExManagerParticuleSystem* ExManagerParticuleSystem::CreateSingleton(void){
00029 Guard(ExManagerParticuleSystem* ExManagerParticuleSystem::CreateSingleton(void))
00030         if(!m_flag)
00031         {
00032                 m_flag = true; // We are creating the error log now, so set flag to true
00033                 m_instance = new ExManagerParticuleSystem; // Create the error log
00034         }else
00035         {
00036                 std::cout<<"Error singleton already created"<<std::endl;
00037         }
00038         return m_instance; 
00039 UnGuard
00040 }
00041 
00042 ExManagerParticuleSystem::ExManagerParticuleSystem(void)
00043 {
00044 Guard(ExManagerParticuleSystem::ExManagerParticuleSystem(void))
00045         
00046 UnGuard
00047 }
00048 
00049 
00050 ExManagerParticuleSystem::~ExManagerParticuleSystem(void)
00051 {
00052 Guard(ExManagerParticuleSystem::~ExManagerParticuleSystem(void))
00053 UnGuard
00054 }
00055 
00056 void ExManagerParticuleSystem::Init(void)
00057 {
00058 Guard(void ExManagerModel::Init(void))
00059         ExManagerObject<ExCSystemeParticule>::Init();
00060 UnGuard
00061 }
00062 
00063 void ExManagerParticuleSystem::Reset(void)
00064 {
00065         ExManagerObject<ExCSystemeParticule>::Reset();
00066 }
00067 
00068 bool ExManagerParticuleSystem::Load(std::string  FileName)
00069 {
00070 Guard(bool ExManagerParticuleSystem::Load(std::string FileName))
00071     FileName="../Data/ParticuleSystem/"+FileName;
00072         try
00073         {
00074                 ExCSystemeParticule     systeme;
00075                 systeme.Consol=Consol;
00076                 systeme.SetManagerTexture(ManagerTexture);
00077                 systeme.Load(FileName);
00078                 return ExManagerObject<ExCSystemeParticule>::Add(systeme);
00079         }       
00080         catch(ExCExpFileNotFound)
00081         {
00082                 *Consol<<"ExManagerParticuleSystem::ExCeption =>"<<FileName<<" File not found"<<std::endl;
00083                 return false;
00084         }
00085         catch(ExCExpFileReadError)
00086         {
00087                 *Consol<<"ExManagerParticuleSystem::ExCeption =>"<<FileName<<" Read file error"<<std::endl;
00088                 return false;
00089         }
00090         catch(...)
00091         {
00092                 *Consol<<"ExManagerParticuleSystem::ExCeption =>"<<FileName<<" Unknow exception"<<std::endl;
00093                 return false;
00094         }
00095 UnGuard
00096 }
00097 
00098 int ExManagerParticuleSystem::Start(std::string Name)
00099 {
00100 Guard(int ExManagerParticuleSystem::Start(std::string Name))
00101         /*for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00102         {
00103                 if(strcmp(m_ItMap->GetParticuleSystemeName(),param.data())==0)
00104                 {
00105                         m_ItMap->Start();
00106                 }
00107         }
00108          */
00109         return GetNumberEnableParticuleSysteme();
00110 UnGuard
00111 }
00112 
00113 int ExManagerParticuleSystem::Stop(std::string Name)
00114 {
00115 Guard(int ExManagerParticuleSystem::Stop(std::string Name))
00116         /*for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00117         {
00118                 if(strcmp(m_ItMap->GetParticuleSystemeName(),param.data())==0)
00119                 {
00120                         m_ItMap->Stop();
00121                 }
00122         }*/
00123         return GetNumberEnableParticuleSysteme();
00124 UnGuard
00125 }
00126 
00127 int ExManagerParticuleSystem::Pause(std::string Name)
00128 {
00129 Guard(int ExManagerParticuleSystem::Pause(std::string Name))
00130         /*for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00131         {
00132                 if(strcmp(m_ItMap->GetParticuleSystemeName(),param.data())==0)
00133                 {
00134                         m_ItMap->Pause();
00135                 }
00136         }*/
00137         return GetNumberEnableParticuleSysteme();
00138 UnGuard
00139 }
00140 
00141 int ExManagerParticuleSystem::StartAll(void)
00142 {
00143 Guard(int ExManagerParticuleSystem::StartAll(void))
00144         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00145         {
00146                 m_ItMap->second.Start();
00147         }  
00148         return GetNumberEnableParticuleSysteme();
00149 UnGuard
00150 }
00151 
00152 void ExManagerParticuleSystem::Draw(void)
00153 {
00154 Guard(void ExManagerParticuleSystem::Draw(void))
00155         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00156         {
00157                 m_ItMap->second.Draw();
00158         }
00159 UnGuard
00160 }
00161 
00162 int ExManagerParticuleSystem::StopAll(void)
00163 {
00164 Guard(int ExManagerParticuleSystem::StopAll(void))
00165         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00166         {
00167                 m_ItMap->second.Stop();
00168         }
00169         return GetNumberEnableParticuleSysteme();
00170 UnGuard
00171 }
00172         
00173 int ExManagerParticuleSystem::PauseAll(void)
00174 {
00175 Guard(int ExManagerParticuleSystem::PauseAll(void))
00176         for(m_ItMap=m_Map->begin();m_ItMap!=m_Map->end();m_ItMap++)
00177         {
00178                 m_ItMap->second.Pause();
00179         }
00180         return GetNumberEnableParticuleSysteme();
00181 UnGuard
00182 }
00183 
00184 
00185 
00186 ExCAction ExManagerParticuleSystem::InputCommand(ExCCommand Command)
00187 {
00188 Guard(ExCAction ExManagerParticuleSystem::InputCommand(ExCCommand Command))
00189         return NOTHING;
00190 UnGuard
00191 }
00192 
00193 ExCAction ExManagerParticuleSystem::InputAction(ExCAction Action)
00194 {
00195 Guard(ExCAction ExManagerParticuleSystem::InputAction(ExCAction Action))
00196         switch(Action.m_Action)
00197         {
00198         case LOAD_PARTICULESYSTEME:Load(Action.m_Param);break;
00199     case STAR_PARTICULESYSTEME:GetObject(Action.m_Param)->Start();break;
00200         case STOP_PARTICULESYSTEME:GetObject(Action.m_Param)->Stop();break;
00201         case PAUSE_PARTICULESYSTEME:GetObject(Action.m_Param)->Pause();break;
00202         case STAR_ALL_PARTICULESYSTEME:StartAll();break;
00203         case STOP_ALL_PARTICULESYSTEME:StopAll();break;
00204         case PAUSE_ALL_PARTICULESYSTEME:PauseAll();break;
00205         case LIST_PARTICULESYSTEME:List();break;
00206 
00207         default:
00208                 *Consol<<"Can not file action in PARTICULESYSTEME_ACTION_MAP"<<std::endl;
00209                 break;
00210         }       
00211         if(Action.m_NextAction){return *Action.m_NextAction;}
00212         else{return NOTHING;}
00213 UnGuard
00214 }
00215 

Généré le Tue Dec 10 18:18:12 2002 pour ExNihilo par doxygen1.3-rc1