MCPcopy Create free account
hub / github.com/crownengine/crown / create_instances

Method create_instances

src/world/animation_state_machine.cpp:163–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

161}
162
163void AnimationStateMachine::create_instances(const void *components_data
164 , u32 num
165 , const UnitId *unit_lookup
166 , const u32 *unit_index
167 )
168{
169 const AnimationStateMachineDesc *state_machines = (AnimationStateMachineDesc *)components_data;
170
171 for (u32 i = 0; i < num; ++i) {
172 UnitId unit = unit_lookup[unit_index[i]];
173 CE_ASSERT(!hash_map::has(_map, unit), "Unit already has a state machine component");
174
175 const StateMachineResource *smr = (StateMachineResource *)_resource_manager->get(RESOURCE_TYPE_STATE_MACHINE, state_machines[i].state_machine_resource);
176
177 Machine m;
178 allocate(m, unit, smr);
179
180 u32 last = array::size(_machines);
181 array::push_back(_machines, m);
182 hash_map::set(_map, unit, last);
183 }
184}
185
186StateMachineId AnimationStateMachine::create(UnitId unit, const AnimationStateMachineDesc &desc)
187{

Callers

nothing calls this directly

Calls 4

setClass · 0.85
hasFunction · 0.70
sizeFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected