Esempio n. 1
0
 def get_light_target_gen(self, interaction):
     for obj in services.object_manager(
     ).get_all_objects_with_component_gen(
             objects.components.types.LIGHTING_COMPONENT):
         target_object_tags = set(get_object_all_tags(obj.definition.id))
         if self.tags & target_object_tags:
             yield obj
Esempio n. 2
0
 def assign_build_buy_tags(self):
     tags = None
     try:
         tags = build_buy.get_object_all_tags(self.id)
     except Exception as e:
         logger.info('Exception while assigning BB tags to {}\n{}', self, e)
     if tags is not None:
         intern_service = services.get_intern_service()
         self.build_buy_tags = intern_service.intern(tags)
 def target_matches_object_tags(self, interaction=None):
     if interaction is None or interaction.target is None or interaction.target.is_sim:
         return False
     object_id = interaction.target.definition.id
     target_object_tags = set(build_buy.get_object_all_tags(object_id))
     if self.object_tags.test_type == TagTestType.CONTAINS_ANY_TAG_IN_SET:
         return target_object_tags & self.object_tags.tag_set
     if self.object_tags.test_type == TagTestType.CONTAINS_ALL_TAGS_IN_SET:
         return target_object_tags & self.object_tags.tag_set == self.object_tags.tag_set
     if self.object_tags.test_type == TagTestType.CONTAINS_NO_TAGS_IN_SET:
         return not target_object_tags & self.object_tags.tag_set
     return False
Esempio n. 4
0
 def target_matches_object_tags(self, interaction=None):
     if interaction is None or interaction.target is None or interaction.target.is_sim:
         return False
     object_id = interaction.target.definition.id
     target_object_tags = set(build_buy.get_object_all_tags(object_id))
     if self.object_tags.test_type == TagTestType.CONTAINS_ANY_TAG_IN_SET:
         return target_object_tags & self.object_tags.tag_set
     if self.object_tags.test_type == TagTestType.CONTAINS_ALL_TAGS_IN_SET:
         return target_object_tags & self.object_tags.tag_set == self.object_tags.tag_set
     if self.object_tags.test_type == TagTestType.CONTAINS_NO_TAGS_IN_SET:
         return not target_object_tags & self.object_tags.tag_set
     return False
 def _run_interaction_gen(self, timeline):
     violin = None
     violin_tag = set([Tag.Instrument_Violin])
     inventory = self.sim.inventory_component
     for item in inventory:
         object_tags = set(build_buy.get_object_all_tags(item.definition.id))
         while object_tags & violin_tag:
             violin = item
             break
     if violin is not None:
         self.context.carry_target = violin
         yield super()._run_interaction_gen(timeline)
     return False
Esempio n. 6
0
 def _run_interaction_gen(self, timeline):
     violin = None
     violin_tag = set([Tag.Instrument_Violin])
     inventory = self.sim.inventory_component
     for item in inventory:
         object_tags = set(build_buy.get_object_all_tags(
             item.definition.id))
         while object_tags & violin_tag:
             violin = item
             break
     if violin is not None:
         self.context.carry_target = violin
         yield super()._run_interaction_gen(timeline)
     return False
Esempio n. 7
0
 def assign_build_buy_tags(self):
     tags = build_buy.get_object_all_tags(self.id)
     if tags is not None:
         self.build_buy_tags = frozenset(tags)
Esempio n. 8
0
 def get_tags(self):
     if self._tags is None:
         self._tags = frozenset(
             build_buy.get_object_all_tags(self.obj_def_guid))
     return self._tags
Esempio n. 9
0
 def get_tags(self):
     if not self._tags:
         self._tags = build_buy.get_object_all_tags(self.obj_def_guid)
     return self._tags
Esempio n. 10
0
 def assign_build_buy_tags(self):
     tags = build_buy.get_object_all_tags(self.id)
     if tags is not None:
         self.build_buy_tags = frozenset(tags)
Esempio n. 11
0
 def get_tags(self):
     if not self._tags:
         self._tags = build_buy.get_object_all_tags(self.obj_def_guid)
     return self._tags
Esempio n. 12
0
 def get_tags(self):
     if not self._tags:
         self._tags = frozenset(
             build_buy.get_object_all_tags(self._obj_def_guid))
     return self._tags