Blender  V2.59
KX_GameActuator.h
Go to the documentation of this file.
00001 // $Id: KX_GameActuator.h 35063 2011-02-22 10:33:14Z jesterking $
00002 //
00003 // ***** BEGIN GPL LICENSE BLOCK *****
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // 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 Foundation,
00017 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00018 //
00019 // The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
00020 // All rights reserved.
00021 //
00022 // The Original Code is: all of this file.
00023 //
00024 // Contributor(s): none yet.
00025 //
00026 // ***** END GPL LICENSE BLOCK *****
00027 //
00028 
00034 #ifndef __KX_GAMEACTUATOR
00035 #define __KX_GAMEACTUATOR
00036 
00037 #include "SCA_IActuator.h"
00038 
00039 #include "SCA_IScene.h" /* Replace_IScene only */
00040 #include "KX_Scene.h" /* Replace_IScene only */
00041 
00042 class KX_GameActuator : public SCA_IActuator
00043 {
00044         Py_Header;
00045 protected:
00046         int                                                     m_mode;
00047         bool                                            m_restart;
00048         STR_String                                      m_filename;
00049         STR_String                                      m_loadinganimationname;
00050         class SCA_IScene*                       m_scene;
00051         class KX_KetsjiEngine*          m_ketsjiengine;
00052 
00053  public:
00054         enum KX_GameActuatorMode
00055         {
00056                 KX_GAME_NODEF = 0,
00057                 KX_GAME_LOAD,
00058                 KX_GAME_START,
00059                 KX_GAME_RESTART,
00060                 KX_GAME_QUIT,
00061                 KX_GAME_SAVECFG,
00062                 KX_GAME_LOADCFG,
00063                 KX_GAME_MAX
00064 
00065         };
00066 
00067         KX_GameActuator(SCA_IObject* gameobj,
00068                                          int mode,
00069                                          const STR_String& filename,
00070                                          const STR_String& loadinganimationname,
00071                                          SCA_IScene* scene,
00072                                          KX_KetsjiEngine* ketsjiEngine);
00073         virtual ~KX_GameActuator();
00074 
00075         virtual CValue* GetReplica();
00076 
00077         virtual bool Update();
00078         
00079         virtual void Replace_IScene(SCA_IScene *val)
00080         {
00081                 m_scene= val;
00082         };
00083 
00084         /* --------------------------------------------------------------------- */
00085         /* Python interface ---------------------------------------------------- */
00086         /* --------------------------------------------------------------------- */
00087         
00088 }; /* end of class KX_GameActuator */
00089 
00090 #endif
00091