예제 #1
0
	def __init__(self, gui, db):
		super(Session, self).__init__()
		self.log.debug("Initing session")
		self.gui = gui # main gui, not ingame gui
		self.db = db # main db for game data (game.sqlite)
		# this saves how often the current game has been saved
		self.savecounter = 0
		self.is_alive = True

		WorldObject.reset()
		NamedObject.reset()

		#game
		self.random = self.create_rng()
		self.timer = Timer()
		Scheduler.create_instance(self.timer)
		self.manager = self.create_manager()
		self.view = View(self, (15, 15))
		Entities.load(self.db)
		self.scenario_eventhandler = ScenarioEventHandler(self) # dummy handler with no events
		self.campaign = {}

		#GUI
		self.gui.session = self
		self.ingame_gui = IngameGui(self, self.gui)
		self.keylistener = IngameKeyListener(self)
		self.display_speed()

		self.selected_instances = set()
		self.selection_groups = [set()] * 10 # List of sets that holds the player assigned unit groups.
예제 #2
0
	def test_freeze_protection(self):
		self.timer = Timer(freeze_protection=True)
		self.timer.ticks_per_second = self.TICK_PER_SEC
		self.timer.add_call(self.callback)
		self.timer.check_tick()
		self.callback.reset_mock()

		self.clock.return_value = self.TIME_START + (1.01 * self.TIME_TICK) + Timer.ACCEPTABLE_TICK_DELAY
		self.timer.check_tick()
		self.assertTrue(self.callback.called) # some number of ticks depending on tick delay
		self.callback.reset_mock()

		# will tick once after defer timeout
		self.clock.return_value = self.TIME_START + (2.02 * self.TIME_TICK) + Timer.DEFER_TICK_ON_DELAY_BY
		self.timer.check_tick()
		self.callback.assert_called_once_with(TestTimer.TICK_START + 2)
예제 #3
0
 def setUp(self):
     self.callback = Mock()
     self.test = Mock()
     # Mock fife
     self.fife = Mock()
     self.pump = MagicMock()
     self.fife.pump = self.pump
     self.fifePatcher = patch('horizons.globals.fife', self.fife)
     self.fifePatcher.start()
     # Mock system time
     self.timePatcher = patch('time.time')
     self.clock = self.timePatcher.start()
     self.clock.return_value = self.TIME_START
     # Create timer
     self.timer = Timer(freeze_protection=False)
     self.timer.ticks_per_second = self.TICK_PER_SEC
     self.timer.add_call(self.callback)
예제 #4
0
 def create_timer(self):
     return Timer(freeze_protection=SINGLEPLAYER.FREEZE_PROTECTION)
예제 #5
0
	def create_timer(self):
		return Timer(freeze_protection=False)
예제 #6
0
 def create_timer(self):
     return Timer()