~ubuntu-branches/ubuntu/gutsy/blender/gutsy-security

« back to all changes in this revision

Viewing changes to source/gameengine/GameLogic/SCA_LogicManager.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Florian Ernst
  • Date: 2005-11-06 12:40:03 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051106124003-3pgs7tcg5rox96xg
Tags: 2.37a-1.1
* Non-maintainer upload.
* Split out parts of 01_SConstruct_debian.dpatch again: root_build_dir
  really needs to get adjusted before the clean target runs - closes: #333958,
  see #288882 for reference

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/**
2
 
 * $Id: SCA_LogicManager.cpp,v 1.4 2004/03/22 22:01:33 jesterking Exp $
 
2
 * $Id: SCA_LogicManager.cpp,v 1.7 2005/04/18 11:44:21 kester Exp $
3
3
 *
4
4
 * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
5
5
 *
42
42
#include <config.h>
43
43
#endif
44
44
 
 
45
 
45
46
SCA_LogicManager::SCA_LogicManager()
46
47
{
47
48
}
115
116
 
116
117
 
117
118
 
 
119
void SCA_LogicManager::RegisterGameMeshName(const STR_String& gamemeshname, void* blendobj)
 
120
{
 
121
        STR_HashedString mn = gamemeshname;
 
122
        m_map_gamemeshname_to_blendobj.insert(mn, blendobj);
 
123
}
 
124
 
 
125
 
 
126
 
 
127
void SCA_LogicManager::RegisterGameObj(CValue* gameobj, void* blendobj) 
 
128
{
 
129
        m_map_gameobj_to_blendobj.insert(CHashedPtr(gameobj), blendobj);
 
130
}
 
131
 
 
132
 
 
133
 
118
134
CValue* SCA_LogicManager::GetGameObjectByName(const STR_String& gameobjname)
119
135
{
120
136
        STR_HashedString mn = "OB"+gameobjname;
127
143
}
128
144
 
129
145
 
 
146
void* SCA_LogicManager::FindBlendObjByGameObj(CValue* gameobject) 
 
147
{
 
148
        void **obp= m_map_gameobj_to_blendobj[CHashedPtr(gameobject)];
 
149
        return obp?*obp:NULL;
 
150
}
 
151
 
 
152
 
 
153
 
 
154
void* SCA_LogicManager::FindBlendObjByGameMeshName(const STR_String& gamemeshname) 
 
155
{
 
156
        STR_HashedString mn = gamemeshname;
 
157
        void **obp= m_map_gamemeshname_to_blendobj[mn];
 
158
        return obp?*obp:NULL;
 
159
}
 
160
 
 
161
 
130
162
 
131
163
void SCA_LogicManager::RemoveSensor(SCA_ISensor* sensor)
132
164
{
175
207
 
176
208
 
177
209
 
178
 
void SCA_LogicManager::BeginFrame(double curtime,double deltatime)
 
210
void SCA_LogicManager::BeginFrame(double curtime, double fixedtime)
179
211
{
180
 
        for (vector<SCA_EventManager*>::const_iterator ie=m_eventmanagers.begin();
181
 
        !(ie==m_eventmanagers.end());ie++)
182
 
        {
183
 
                (*ie)->NextFrame(curtime,deltatime);
184
 
        }
 
212
        for (vector<SCA_EventManager*>::const_iterator ie=m_eventmanagers.begin(); !(ie==m_eventmanagers.end()); ie++)
 
213
                (*ie)->NextFrame(curtime, fixedtime);
185
214
 
186
215
        // for this frame, look up for activated sensors, and build the collection of triggered controllers
187
 
        int numsensors = this->m_activatedsensors.size();
 
216
        // int numsensors = this->m_activatedsensors.size(); /*unused*/
188
217
 
189
218
        set<SmartControllerPtr> triggeredControllerSet;
190
219
 
203
232
        }
204
233
 
205
234
        
206
 
        int numtriggered = triggeredControllerSet.size();
 
235
        // int numtriggered = triggeredControllerSet.size(); /*unused*/
207
236
        for (set<SmartControllerPtr>::iterator tit=triggeredControllerSet.begin();
208
237
        !(tit==triggeredControllerSet.end());tit++)
209
238
        {
214
243
 
215
244
 
216
245
 
217
 
void SCA_LogicManager::UpdateFrame(double curtime,double deltatime)
 
246
void SCA_LogicManager::UpdateFrame(double curtime, bool frame)
218
247
{
219
248
        vector<SmartActuatorPtr>::iterator ra;
220
 
        for (ra = m_removedActuators.begin();
221
 
        !(ra == m_removedActuators.end());ra++)
 
249
        for (ra = m_removedActuators.begin(); !(ra == m_removedActuators.end()); ra++)
222
250
        {
223
251
                m_activeActuators.erase(*ra);
224
252
                (*ra)->SetActive(false);
228
256
        for (set<SmartActuatorPtr>::iterator ia = m_activeActuators.begin();!(ia==m_activeActuators.end());ia++)
229
257
        {
230
258
                //SCA_IActuator* actua = *ia;
231
 
                if (!(*ia)->Update(curtime,deltatime))
 
259
                if (!(*ia)->Update(curtime, frame))
232
260
                {
233
261
                        //*ia = m_activeactuators.back();
234
262
                        m_removedActuators.push_back(*ia);
238
266
                }
239
267
        }
240
268
        
241
 
        for ( ra = m_removedActuators.begin();
242
 
        !(ra == m_removedActuators.end());ra++)
 
269
        for ( ra = m_removedActuators.begin(); !(ra == m_removedActuators.end()); ra++)
243
270
        {
244
271
                m_activeActuators.erase(*ra);
245
272
                (*ra)->SetActive(false);