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

components.py (1197B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\utility\components.py
      2 from brennivin.itertoolsext import Bundle
      3 from spacecomponents.common.componentConst import PROXIMITY_SENSOR_CLASS
      4 
      5 def get_proximity_sensor(task, proximity_sensor_id):
      6     return task.context.ballpark.componentRegistry.GetComponentForItem(proximity_sensor_id, PROXIMITY_SENSOR_CLASS)
      7 
      8 
      9 def get_proximity_sensors(task, *tags):
     10     sensors = task.context.ballpark.componentRegistry.GetInstancesWithComponentClass(PROXIMITY_SENSOR_CLASS)
     11     return [ sensor for sensor in sensors if sensor.HasTags(*tags) ]
     12 
     13 
     14 def get_proximity_sensors_for_group_members(task):
     15     member_ids = task.GetMemberIdList()
     16     sensors = get_proximity_sensors(task)
     17     return [ sensor for sensor in sensors if sensor.itemID in member_ids ]
     18 
     19 
     20 def create_proximity_sensor(task, item_id, aggression_range):
     21     guardObjectTypeId = task.context.ballpark.inventory2.GetItem(item_id).typeID
     22     proximitySensor = task.context.ballpark.componentRegistry.AddComponentInstanceToItem(PROXIMITY_SENSOR_CLASS, item_id, guardObjectTypeId, Bundle(detectionRange=aggression_range, tags=None))
     23     return proximitySensor