context.py (1922B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\utility\context.py 2 CONTEXT_MY_DUNGEON_SPAWN_ID = 'myDungeonSpawnId' 3 CONTEXT_MY_DUNGEON_ID = 'myDungeonId' 4 CONTEXT_MY_DUNGEON_SPAWN_SCENARIO_ID = 'myDungeonSpawnScenarioId' 5 CONTEXT_MY_TALE_ID = 'myTaleId' 6 CONTEXT_MY_SPAWN_POINT_POOL_ID = 'mySpawnPointPoolId' 7 CONTEXT_MY_SPAWN_TABLE_ID = 'mySpawnTableId' 8 CONTEXT_MY_ENTITY_GROUP_ID = 'myEntityGroupId' 9 CONTEXT_MY_NODE_GRAPH_INSTANCE_ID = 'myNodeGraphInstanceId' 10 CONTEXT_TO_COPY_TO_ITEM = [CONTEXT_MY_DUNGEON_SPAWN_ID, 11 CONTEXT_MY_DUNGEON_ID, 12 CONTEXT_MY_TALE_ID, 13 CONTEXT_MY_SPAWN_POINT_POOL_ID, 14 CONTEXT_MY_SPAWN_TABLE_ID, 15 CONTEXT_MY_NODE_GRAPH_INSTANCE_ID] 16 17 def get_extra_context(task): 18 spawn_pool_id = None 19 if hasattr(task, 'get_spawn_pool_id'): 20 spawn_pool_id = task.get_spawn_pool_id() 21 spawn_table_id = None 22 if hasattr(task, 'get_spawn_table_id'): 23 spawn_table_id = task.get_spawn_table_id() 24 context = {CONTEXT_MY_TALE_ID: None} 25 copy_context_to_context(context, task.context) 26 context[CONTEXT_MY_SPAWN_POINT_POOL_ID] = spawn_pool_id 27 context[CONTEXT_MY_SPAWN_TABLE_ID] = spawn_table_id 28 return context 29 30 31 def get_dungeon_context_from_spawn(spawn, scenario_id): 32 extra_context = {CONTEXT_MY_DUNGEON_SPAWN_ID: spawn.spawnID, 33 CONTEXT_MY_DUNGEON_ID: spawn.dungeonID, 34 CONTEXT_MY_DUNGEON_SPAWN_SCENARIO_ID: scenario_id} 35 if spawn.extraContext: 36 extra_context.update(spawn.extraContext) 37 return extra_context 38 39 40 def get_spawn_point_pool_context(spawn_point_pool_id, spawn_table_id): 41 return {CONTEXT_MY_SPAWN_POINT_POOL_ID: spawn_point_pool_id, 42 CONTEXT_MY_SPAWN_TABLE_ID: spawn_table_id} 43 44 45 def copy_context_to_context(to_context, from_context): 46 for context_name in CONTEXT_TO_COPY_TO_ITEM: 47 if context_name in from_context: 48 to_context[context_name] = from_context[context_name]