Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Samarin <nicks1987@bigmir.net>2010-06-16 04:23:24 +0400
committerNick Samarin <nicks1987@bigmir.net>2010-06-16 04:23:24 +0400
commit700c32e73833205830b062a13270e4a45668cad0 (patch)
treef8d684cdb2e487442cbff49abd8305e6f779a5d5 /source/gameengine/Ketsji/KX_ObstacleSimulation.cpp
parent147e8d01ebd7b04d81e2094669d8bc9b0f005f19 (diff)
- registration obstacle in game object
- creation obstacle on object replication (including navmesh object) - creation object transform for navigation mesh directly from blender object instead of using SGNode world transform (because SGNode doesn't exists yet when building navmesh on ProcessReplica)
Diffstat (limited to 'source/gameengine/Ketsji/KX_ObstacleSimulation.cpp')
-rw-r--r--source/gameengine/Ketsji/KX_ObstacleSimulation.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/source/gameengine/Ketsji/KX_ObstacleSimulation.cpp b/source/gameengine/Ketsji/KX_ObstacleSimulation.cpp
index 038a1e07b1b..5994ebdc80c 100644
--- a/source/gameengine/Ketsji/KX_ObstacleSimulation.cpp
+++ b/source/gameengine/Ketsji/KX_ObstacleSimulation.cpp
@@ -195,7 +195,21 @@ void KX_ObstacleSimulation::AddObstacleForObj(KX_GameObject* gameobj)
obstacle->m_shape = KX_OBSTACLE_CIRCLE;
obstacle->m_rad = blenderobject->obstacleRad;
obstacle->m_gameObj = gameobj;
-
+ gameobj->RegisterObstacle(obstacle);
+}
+
+void KX_ObstacleSimulation::DestroyObstacle(KX_Obstacle* obstacle)
+{
+ for (size_t i=0; i<m_obstacles.size(); i++)
+ {
+ if (m_obstacles[i] == obstacle)
+ {
+ obstacle->m_gameObj->UnregisterObstacle();
+ m_obstacles[i] = m_obstacles.back();
+ m_obstacles.pop_back();
+ delete obstacle;
+ }
+ }
}
void KX_ObstacleSimulation::AddObstaclesForNavMesh(KX_NavMeshObject* navmeshobj)