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