NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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]