22 struct SUpdateThreadData {
26 SUpdateThreadData(
UInt32 un_thread_id,
28 ThreadId(un_thread_id),
38 SUpdateThreadData** m_psUpdateThreadData;
41 pthread_t* m_ptUpdateThreads;
44 UInt32 m_unSenseControlStepPhaseDoneCounter;
45 UInt32 m_unActPhaseDoneCounter;
46 UInt32 m_unPhysicsPhaseDoneCounter;
47 UInt32 m_unMediaPhaseDoneCounter;
48 UInt32 m_unEntityIterPhaseDoneCounter;
51 pthread_mutex_t m_tSenseControlStepConditionalMutex;
52 pthread_mutex_t m_tActConditionalMutex;
53 pthread_mutex_t m_tPhysicsConditionalMutex;
54 pthread_mutex_t m_tMediaConditionalMutex;
55 pthread_mutex_t m_tEntityIterConditionalMutex;
58 pthread_cond_t m_tSenseControlStepConditional;
59 pthread_cond_t m_tActConditional;
60 pthread_cond_t m_tPhysicsConditional;
61 pthread_cond_t m_tMediaConditional;
62 pthread_cond_t m_tEntityIterConditional;
66 bool m_bIsControllableEntityAssignmentRecalculationNeeded;
91 void UpdateThread(
UInt32 un_id);
128 virtual void ControllableEntityIterationWaitAbort();