public override void Update(int current_time) { bool forward = m_world_syhchronizer.ForwardTurn(); if (forward && m_mode == RUNNING_MODE) { SyncTurnDoneCommand command = new SyncTurnDoneCommand(); command.PlayerPstid = -1; command.SyncTurn = m_world_syhchronizer.GetSynchronizedTurn(); AddOutputCommand(command); } }
public override void Stop() { int synchronized_turn = m_world_syhchronizer.GetSynchronizedTurn(); if (SyncParam.FRAME_COUNT_PER_SYNCTURN > 1) { synchronized_turn += 1; } SyncTurnDoneCommand command = new SyncTurnDoneCommand(); command.PlayerPstid = m_local_player_pstid; command.SyncTurn = synchronized_turn; AddOutputCommand(command); }
public override void Update(int current_time) { if (m_current_turn == -1) { if (current_time < m_start_time) { return; } else { m_current_turn = 0; m_world_syhchronizer.Start(m_start_time); m_last_update_time = m_start_time; } } bool forward = m_world_syhchronizer.ForwardFrame(current_time); m_last_update_time = current_time; if (!forward) { return; } int synchronized_turn = m_world_syhchronizer.GetSynchronizedTurn(); int forward_turn_count = synchronized_turn + 1 - m_current_turn; if (forward_turn_count <= 0) { return; } m_stored_turndone_count += forward_turn_count; m_current_turn = synchronized_turn + 1; if (m_stored_turndone_count >= SyncParam.SP_SYNC_INTERVAL_TURNCOUNT) { if (m_send_turndone) { SyncTurnDoneCommand command = new SyncTurnDoneCommand(); command.PlayerPstid = m_local_player_pstid; command.SyncTurn = synchronized_turn; AddOutputCommand(command); } m_stored_turndone_count = 0; } }
public override void Update(int current_time) { if (m_current_turn == -1) { if (current_time < m_start_time) { return; } else { OnTurnEnd(0); m_current_turn = 0; m_world_syhchronizer.Start(m_start_time); m_last_update_time = m_start_time; } } bool forward = m_world_syhchronizer.ForwardFrame(current_time); m_last_update_time = current_time; if (!forward) { return; } int synchronized_turn = m_world_syhchronizer.GetSynchronizedTurn(); int forward_turn_count = synchronized_turn + 1 - m_current_turn; if (forward_turn_count <= 0) { return; } for (int i = m_current_turn + 1; i <= synchronized_turn + 1; ++i) { OnTurnEnd(i); } m_current_turn = synchronized_turn + 1; SyncTurnDoneCommand command = new SyncTurnDoneCommand(); command.PlayerPstid = -1L; command.SyncTurn = synchronized_turn + 1; AddOutputCommand(command); }