Ejemplo n.º 1
0
def buildbuy_session_end(zone_id):
    services.object_manager(
        zone_id).rebuild_objects_to_ignore_portal_validation_cache()
    for obj in services.object_manager(zone_id).get_all():
        obj.on_buildbuy_exit()
    posture_graph_service = services.current_zone().posture_graph_service
    posture_graph_service.on_exit_buildbuy()
    _build_buy_exit_callbacks()
    pythonutils.try_highwater_gc()
    services.get_zone_modifier_service(
    ).check_for_and_apply_new_zone_modifiers(zone_id)
    if _sync_venue_service_to_zone_venue_type(zone_id):
        zone_director = services.venue_service().get_zone_director()
        if zone_director is not None:
            zone_director.on_exit_buildbuy()
    object_preference_tracker = services.object_preference_tracker()
    if object_preference_tracker is not None:
        object_preference_tracker.validate_objects(zone_id)
    services.business_service().on_build_buy_exit()
    services.current_zone().on_build_buy_exit()
    services.utilities_manager().on_build_buy_exit()
    services.get_reset_and_delete_service().on_build_buy_exit()
    street_service = services.street_service()
    if street_service is not None:
        street = services.current_street()
        if street is not None:
            provider = street_service.get_provider(street)
            if provider is not None:
                provider.on_build_buy_exit()
    services.object_manager().clear_objects_to_ignore_portal_validation_cache()
Ejemplo n.º 2
0
 def show_dialog(self, on_response=None, **kwargs):
     if self.audio_sting is not None:
         play_tunable_audio(self.audio_sting, None)
     if on_response is not None:
         self.add_listener(on_response)
     pythonutils.try_highwater_gc()
     services.ui_dialog_service().dialog_show(self, self.phone_ring_type, **kwargs)
Ejemplo n.º 3
0
 def show_dialog(self, on_response=None, **kwargs):
     if self.audio_sting is not None:
         play_tunable_audio(self.audio_sting, None)
     if on_response is not None:
         self.add_listener(on_response)
     pythonutils.try_highwater_gc()
     services.ui_dialog_service().dialog_show(self, self.phone_ring_type,
                                              **kwargs)
Ejemplo n.º 4
0
 def on_enter(self):
     super().on_enter()
     zone = services.current_zone()
     client = zone.zone_spin_up_service._client_connect_data.client
     destroy_unentitled_craftables()
     GlobalLotTuningAndCleanup.cleanup_objects(lot=zone.lot)
     zone.service_manager.on_cleanup_zone_objects(client)
     services.current_zone(
     ).posture_graph_service.build_during_zone_spin_up()
     pythonutils.try_highwater_gc()
     return _ZoneSpinUpStateResult.DONE
 def on_enter(self):
     super().on_enter()
     zone = services.current_zone()
     client = zone.zone_spin_up_service._client_connect_data.client
     destroy_unentitled_craftables()
     GlobalLotTuningAndCleanup.cleanup_objects(lot=zone.lot)
     zone.service_manager.on_cleanup_zone_objects(client)
     services.current_zone(
     ).posture_graph_service.build_during_zone_spin_up()
     pythonutils.try_highwater_gc()
     return _ZoneSpinUpStateResult.DONE
Ejemplo n.º 6
0
 def _update_speed(self, immediate=False):
     for speed_request in self.game_speed_requests_gen():
         if not speed_request.validity_check is None:
             if speed_request.validity_check():
                 new_speed = speed_request.speed
                 break
         new_speed = speed_request.speed
         break
     else:
         logger.error(
             'No valid game speeds in the game speed controllers: {}',
             self.speed_controllers,
             owner='bhill')
         new_speed = ClockSpeedMode.PAUSED
     old_speed = self._clock_speed
     if old_speed == new_speed:
         return
     self._update_time_spent_in_speed(old_speed)
     self._clock_speed = new_speed
     if new_speed == ClockSpeedMode.NORMAL and self.clock_speed_multiplier_type != ClockSpeedMultiplierType.DEFAULT:
         self._set_clock_speed_multiplier_type(
             ClockSpeedMultiplierType.DEFAULT, do_sync=False)
     if new_speed == ClockSpeedMode.SUPER_SPEED3:
         services.get_zone_situation_manager().ss3_make_all_npcs_leave_now()
     self._sync_clock_and_broadcast_gameclock(immediate=immediate)
     if new_speed == ClockSpeedMode.PAUSED:
         gc2_triggered = pythonutils.try_highwater_gc()
         if gc2_triggered:
             logger.debug('Pausing the game has triggered highwater GC2.',
                          owner='manus')
Ejemplo n.º 7
0
 def on_enter(self):
     super().on_enter()
     zone = services.current_zone()
     client = zone.zone_spin_up_service._client_connect_data.client
     destroy_unentitled_craftables()
     game_services.service_manager.on_cleanup_zone_objects(client)
     zone.service_manager.on_cleanup_zone_objects(client)
     venue_service = services.venue_service()
     zone_director = venue_service.get_zone_director()
     if zone_director is not None:
         zone_director.on_cleanup_zone_objects()
         if not zone_director.was_loaded:
             zone_director.prepare_lot()
     services.current_zone(
     ).posture_graph_service.build_during_zone_spin_up()
     pythonutils.try_highwater_gc()
     venue_service.run_venue_preparation_operations()
     return _ZoneSpinUpStateResult.DONE
Ejemplo n.º 8
0
def buildbuy_session_end(zone_id):
    with sims4.zone_utils.global_zone_lock(zone_id):
        for obj in services.object_manager(zone_id).get_all():
            obj.on_buildbuy_exit()
        posture_graph_service = services.current_zone().posture_graph_service
        posture_graph_service.on_exit_buildbuy()
        pythonutils.try_highwater_gc()
        venue_type = get_current_venue(zone_id)
        logger.assert_raise(
            venue_type is not None,
            ' Venue Type is None in buildbuy session end for zone id:{}',
            zone_id,
            owner='sscholl')
        if venue_type is not None:
            venue_tuning = services.venue_manager().get(venue_type)
            services.current_zone(
            ).venue_service.set_venue_and_schedule_events(venue_tuning)
        services.current_zone().on_build_buy_exit()
        from objects.doors.front_door import find_and_set_front_door
        find_and_set_front_door()
Ejemplo n.º 9
0
def buildbuy_session_end(zone_id):
    with sims4.zone_utils.global_zone_lock(zone_id):
        for obj in services.object_manager(zone_id).get_all():
            obj.on_buildbuy_exit()
        posture_graph_service = services.current_zone().posture_graph_service
        posture_graph_service.on_exit_buildbuy()
        pythonutils.try_highwater_gc()
        venue_type = get_current_venue(zone_id)
        logger.assert_raise(
            venue_type is not None,
            ' Venue Type is None in buildbuy session end for zone id:{}',
            zone_id,
            owner='sscholl')
        if venue_type is not None:
            venue_tuning = services.venue_manager().get(venue_type)
            services.current_zone(
            ).venue_service.set_venue_and_schedule_events(venue_tuning)
        services.current_zone().on_build_buy_exit()
        from objects.doors.front_door import find_and_set_front_door
        find_and_set_front_door()
Ejemplo n.º 10
0
	def show_dialog (self, on_response = None, **kwargs):
		if on_response is not None:
			self.add_listener(on_response)
		pythonutils.try_highwater_gc()
		services.ui_dialog_service().dialog_show(self, self.get_phone_ring_type(), **kwargs)