BGE Py API patch from Mitchell Stokes, adds extra attributes and docs

This commit is contained in:
Campbell Barton 2009-05-02 02:40:11 +00:00
parent 07abb9dee2
commit ef20036b84
12 changed files with 57 additions and 6 deletions

@ -1015,7 +1015,6 @@ PyAttributeDef BL_ActionActuator::Attributes[] = {
KX_PYATTRIBUTE_BOOL_RW("continue", BL_ActionActuator, m_end_reset), KX_PYATTRIBUTE_BOOL_RW("continue", BL_ActionActuator, m_end_reset),
KX_PYATTRIBUTE_FLOAT_RW_CHECK("blendTime", 0, MAXFRAMEF, BL_ActionActuator, m_blendframe, CheckBlendTime), KX_PYATTRIBUTE_FLOAT_RW_CHECK("blendTime", 0, MAXFRAMEF, BL_ActionActuator, m_blendframe, CheckBlendTime),
KX_PYATTRIBUTE_SHORT_RW_CHECK("type",0,100,false,BL_ActionActuator,m_playtype,CheckType), KX_PYATTRIBUTE_SHORT_RW_CHECK("type",0,100,false,BL_ActionActuator,m_playtype,CheckType),
//KX_PYATTRIBUTE_TODO("channel"),
{ NULL } //Sentinel { NULL } //Sentinel
}; };

@ -254,7 +254,7 @@ PyMethodDef SCA_ILogicBrick::Methods[] = {
PyAttributeDef SCA_ILogicBrick::Attributes[] = { PyAttributeDef SCA_ILogicBrick::Attributes[] = {
KX_PYATTRIBUTE_RO_FUNCTION("owner", SCA_ILogicBrick, pyattr_get_owner), KX_PYATTRIBUTE_RO_FUNCTION("owner", SCA_ILogicBrick, pyattr_get_owner),
KX_PYATTRIBUTE_INT_RW("executePriority",0,100000,false,SCA_ILogicBrick,m_Execute_Ueber_Priority), KX_PYATTRIBUTE_INT_RW("executePriority",0,100000,false,SCA_ILogicBrick,m_Execute_Ueber_Priority),
//KX_PYATTRIBUTE_TODO("name"), KX_PYATTRIBUTE_STRING_RO("name", SCA_ILogicBrick, m_name),
{NULL} //Sentinel {NULL} //Sentinel
}; };

@ -253,7 +253,7 @@ PyMethodDef KX_GameActuator::Methods[] =
PyAttributeDef KX_GameActuator::Attributes[] = { PyAttributeDef KX_GameActuator::Attributes[] = {
KX_PYATTRIBUTE_STRING_RW("file",0,100,false,KX_GameActuator,m_filename), KX_PYATTRIBUTE_STRING_RW("file",0,100,false,KX_GameActuator,m_filename),
//KX_PYATTRIBUTE_TODO("mode"), KX_PYATTRIBUTE_INT_RW("mode", KX_GAME_NODEF+1, KX_GAME_MAX-1, true, KX_GameActuator, m_mode),
{ NULL } //Sentinel { NULL } //Sentinel
}; };

@ -178,7 +178,7 @@ PyMethodDef KX_ParentActuator::Methods[] = {
PyAttributeDef KX_ParentActuator::Attributes[] = { PyAttributeDef KX_ParentActuator::Attributes[] = {
KX_PYATTRIBUTE_RW_FUNCTION("object", KX_ParentActuator, pyattr_get_object, pyattr_set_object), KX_PYATTRIBUTE_RW_FUNCTION("object", KX_ParentActuator, pyattr_get_object, pyattr_set_object),
//KX_PYATTRIBUTE_TODO("mode"), KX_PYATTRIBUTE_INT_RW("mode", KX_PARENT_NODEF+1, KX_PARENT_MAX-1, true, KX_ParentActuator, m_mode),
{ NULL } //Sentinel { NULL } //Sentinel
}; };

@ -57,6 +57,7 @@ class KX_ParentActuator : public SCA_IActuator
KX_PARENT_NODEF = 0, KX_PARENT_NODEF = 0,
KX_PARENT_SET, KX_PARENT_SET,
KX_PARENT_REMOVE, KX_PARENT_REMOVE,
KX_PARENT_MAX
}; };

@ -49,6 +49,9 @@
#include "KX_KetsjiEngine.h" #include "KX_KetsjiEngine.h"
#include "KX_RadarSensor.h" #include "KX_RadarSensor.h"
#include "KX_RaySensor.h" #include "KX_RaySensor.h"
#include "KX_SceneActuator.h"
#include "KX_GameActuator.h"
#include "KX_ParentActuator.h"
#include "KX_SCA_DynamicActuator.h" #include "KX_SCA_DynamicActuator.h"
#include "SCA_IInputDevice.h" #include "SCA_IInputDevice.h"
@ -1359,6 +1362,28 @@ PyObject* initGameLogic(KX_KetsjiEngine *engine, KX_Scene* scene) // quick hack
KX_MACRO_addTypesToDict(d, KX_ACT_CONSTRAINT_LOCAL, KX_ConstraintActuator::KX_ACT_CONSTRAINT_LOCAL); KX_MACRO_addTypesToDict(d, KX_ACT_CONSTRAINT_LOCAL, KX_ConstraintActuator::KX_ACT_CONSTRAINT_LOCAL);
KX_MACRO_addTypesToDict(d, KX_ACT_CONSTRAINT_DOROTFH, KX_ConstraintActuator::KX_ACT_CONSTRAINT_DOROTFH); KX_MACRO_addTypesToDict(d, KX_ACT_CONSTRAINT_DOROTFH, KX_ConstraintActuator::KX_ACT_CONSTRAINT_DOROTFH);
/* Game Actuator Modes */
KX_MACRO_addTypesToDict(d, KX_GAME_LOAD, KX_GameActuator::KX_GAME_LOAD);
KX_MACRO_addTypesToDict(d, KX_GAME_START, KX_GameActuator::KX_GAME_START);
KX_MACRO_addTypesToDict(d, KX_GAME_RESTART, KX_GameActuator::KX_GAME_RESTART);
KX_MACRO_addTypesToDict(d, KX_GAME_QUIT, KX_GameActuator::KX_GAME_QUIT);
KX_MACRO_addTypesToDict(d, KX_GAME_SAVECFG, KX_GameActuator::KX_GAME_SAVECFG);
KX_MACRO_addTypesToDict(d, KX_GAME_LOADCFG, KX_GameActuator::KX_GAME_LOADCFG);
/* Scene Actuator Modes */
KX_MACRO_addTypesToDict(d, KX_SCENE_RESTART, KX_SceneActuator::KX_SCENE_RESTART);
KX_MACRO_addTypesToDict(d, KX_SCENE_SET_SCENE, KX_SceneActuator::KX_SCENE_SET_SCENE);
KX_MACRO_addTypesToDict(d, KX_SCENE_SET_CAMERA, KX_SceneActuator::KX_SCENE_SET_CAMERA);
KX_MACRO_addTypesToDict(d, KX_SCENE_ADD_FRONT_SCENE, KX_SceneActuator::KX_SCENE_ADD_FRONT_SCENE);
KX_MACRO_addTypesToDict(d, KX_SCENE_ADD_BACK_SCENE, KX_SceneActuator::KX_SCENE_ADD_BACK_SCENE);
KX_MACRO_addTypesToDict(d, KX_SCENE_REMOVE_SCENE, KX_SceneActuator::KX_SCENE_REMOVE_SCENE);
KX_MACRO_addTypesToDict(d, KX_SCENE_SUSPEND, KX_SceneActuator::KX_SCENE_SUSPEND);
KX_MACRO_addTypesToDict(d, KX_SCENE_RESUME, KX_SceneActuator::KX_SCENE_RESUME);
/* Parent Actuator Modes */
KX_MACRO_addTypesToDict(d, KX_PARENT_SET, KX_ParentActuator::KX_PARENT_SET);
KX_MACRO_addTypesToDict(d, KX_PARENT_REMOVE, KX_ParentActuator::KX_PARENT_REMOVE);
// Check for errors // Check for errors
if (PyErr_Occurred()) if (PyErr_Occurred())
{ {

@ -275,8 +275,8 @@ PyMethodDef KX_SceneActuator::Methods[] =
PyAttributeDef KX_SceneActuator::Attributes[] = { PyAttributeDef KX_SceneActuator::Attributes[] = {
KX_PYATTRIBUTE_STRING_RW("scene",0,32,true,KX_SceneActuator,m_nextSceneName), KX_PYATTRIBUTE_STRING_RW("scene",0,32,true,KX_SceneActuator,m_nextSceneName),
KX_PYATTRIBUTE_RW_FUNCTION("camera",KX_SceneActuator,pyattr_get_camera,pyattr_set_camera), KX_PYATTRIBUTE_RW_FUNCTION("camera",KX_SceneActuator,pyattr_get_camera,pyattr_set_camera),
//KX_PYATTRIBUTE_TODO("useRestart"), KX_PYATTRIBUTE_BOOL_RW("useRestart", KX_SceneActuator, m_restart),
//KX_PYATTRIBUTE_TODO("mode"), KX_PYATTRIBUTE_INT_RW("mode", KX_SCENE_NODEF+1, KX_SCENE_MAX-1, true, KX_SceneActuator, m_mode),
{ NULL } //Sentinel { NULL } //Sentinel
}; };

@ -187,6 +187,24 @@ Documentation for the GameLogic Module.
@var KX_DYN_DISABLE_RIGID_BODY: See L{KX_SCA_DynamicActuator} @var KX_DYN_DISABLE_RIGID_BODY: See L{KX_SCA_DynamicActuator}
@var KX_DYN_SET_MASS: See L{KX_SCA_DynamicActuator} @var KX_DYN_SET_MASS: See L{KX_SCA_DynamicActuator}
@group Game Actuator: KX_GAME_LOAD, KX_GAME_START, KX_GAME_RESTART, KX_GAME_QUIT, KX_GAME_SAVECFG, KX_GAME_LOADCFG
@var KX_Game_LOAD: See L{KX_GameActuator}
@var KX_Game_START: See L{KX_GameActuator}
@var KX_Game_RESTART: See L{KX_GameActuator}
@var KX_Game_QUIT: See L{KX_GameActuator}
@var KX_Game_SAVECFG: See L{KX_GameActuator}
@var KX_Game_LOADCFG: See L{KX_GameActuator}
@group Scene Actuator: KX_SCENE_RESTART, KX_SCENE_SET_SCENE, KX_SCENE_SET_CAMERA, KX_SCENE_ADD_FRONT_SCENE, KX_SCENE_ADD_BACK_SCENE, KX_SCENE_REMOVE_SCENE, KX_SCENE_SUSPEND, KX_SCENE_RESUME
KX_SCENE_RESTART: See L{KX_SceneActuator}
KX_SCENE_SET_SCENE: See L{KX_SceneActuator}
KX_SCENE_SET_CAMERA: See L{KX_SceneActuator}
KX_SCENE_ADD_FRONT_SCENE: See L{KX_SceneActuator}
KX_SCENE_ADD_BACK_SCENE: See L{KX_SceneActuator}
KX_SCENE_REMOVE_SCENE: See L{KX_SceneActuator}
KX_SCENE_SUSPEND: See L{KX_SceneActuator}
KX_SCENE_RESUME: See L{KX_SceneActuator}
@group Input Status: KX_INPUT_NONE, KX_INPUT_JUST_ACTIVATED, KX_INPUT_ACTIVE, KX_INPUT_JUST_RELEASED @group Input Status: KX_INPUT_NONE, KX_INPUT_JUST_ACTIVATED, KX_INPUT_ACTIVE, KX_INPUT_JUST_RELEASED
@var KX_INPUT_NONE: See L{SCA_MouseSensor} @var KX_INPUT_NONE: See L{SCA_MouseSensor}
@var KX_INPUT_JUST_ACTIVATED: See L{SCA_MouseSensor} @var KX_INPUT_JUST_ACTIVATED: See L{SCA_MouseSensor}

@ -10,6 +10,8 @@ class KX_GameActuator(SCA_IActuator):
@ivar file: the new .blend file to load @ivar file: the new .blend file to load
@type file: string. @type file: string.
@ivar mode: The mode of this actuator
@type mode: int from 0 to 5 L{GameLogic.Game Actuator}
""" """
def getFile(): def getFile():
""" """

@ -7,6 +7,8 @@ class KX_ParentActuator(SCA_IActuator):
The parent actuator can set or remove an objects parent object. The parent actuator can set or remove an objects parent object.
@ivar object: the object this actuator sets the parent too. @ivar object: the object this actuator sets the parent too.
@type object: KX_GameObject or None @type object: KX_GameObject or None
@ivar mode: The mode of this actuator
@type mode: int from 0 to 1 L{GameLogic.Parent Actuator}
""" """
def setObject(object): def setObject(object):
""" """

@ -18,6 +18,8 @@ class KX_SceneActuator(SCA_IActuator):
@ivar camera: the camera to change to. @ivar camera: the camera to change to.
When setting the attribute, you can use either a L{KX_Camera} or the name of the camera. When setting the attribute, you can use either a L{KX_Camera} or the name of the camera.
@type camera: L{KX_Camera} on read, string or L{KX_Camera} on write @type camera: L{KX_Camera} on read, string or L{KX_Camera} on write
@type mode: The mode of the actuator
@type mode: int from 0 to 5 L{GameLogic.Scene Actuator}
""" """
def setUseRestart(flag): def setUseRestart(flag):
""" """

@ -11,6 +11,8 @@ class SCA_ILogicBrick(CValue):
@type executePriority: int @type executePriority: int
@ivar owner: The game object this logic brick is attached to (read only). @ivar owner: The game object this logic brick is attached to (read only).
@type owner: L{KX_GameObject<KX_GameObject.KX_GameObject>} or None in exceptional cases. @type owner: L{KX_GameObject<KX_GameObject.KX_GameObject>} or None in exceptional cases.
@ivar name: The name of this logic brick (read only).
@type name: string
@group Deprecated: getOwner, setExecutePriority, getExecutePriority @group Deprecated: getOwner, setExecutePriority, getExecutePriority
""" """