diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-09-19 05:33:08 +0400 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-09-19 05:33:08 +0400 |
commit | fd5f3e13d2f86f0f344422c773df85d0c3e6df32 (patch) | |
tree | 8f55d1124aa01fcdfb847dedd1396e941060dae5 /source/gameengine/Ketsji/KX_SceneActuator.cpp | |
parent | d70197262b3bf22388673b5b8fc96af969875d50 (diff) |
Convert and use actuators with no target object set.
Certain actuators (Add Object/Replace Mesh/Scene/Track To) used to always require a target, or they would not influence the scene. If the actuator target is always set from Python, this could be annoying.
Diffstat (limited to 'source/gameengine/Ketsji/KX_SceneActuator.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_SceneActuator.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/source/gameengine/Ketsji/KX_SceneActuator.cpp b/source/gameengine/Ketsji/KX_SceneActuator.cpp index 3ef49680f1f..ddd0672b2fe 100644 --- a/source/gameengine/Ketsji/KX_SceneActuator.cpp +++ b/source/gameengine/Ketsji/KX_SceneActuator.cpp @@ -100,6 +100,21 @@ bool KX_SceneActuator::Update(double curtime,double deltatime) m_KetsjiEngine->ReplaceScene(m_scene->GetName(),m_scene->GetName()); break; } + case KX_SCENE_SET_CAMERA: + if (m_camera) + { + m_scene->SetActiveCamera(m_camera); + } + break; + default: + break; + } + + if (!m_nextSceneName.Length()) + return false; + + switch (m_mode) + { case KX_SCENE_SET_SCENE: { m_KetsjiEngine->ReplaceScene(m_scene->GetName(),m_nextSceneName); @@ -132,12 +147,6 @@ bool KX_SceneActuator::Update(double curtime,double deltatime) m_KetsjiEngine->ResumeScene(m_nextSceneName); break; } - case KX_SCENE_SET_CAMERA: - if (m_camera) - { - m_scene->SetActiveCamera(m_camera); - } - break; default: ; /* do nothing? this is an internal error !!! */ } |