public override void Halt_Match( EMatchInstanceState new_state ) { if ( MatchState.State != new_state ) { base.Halt_Match( new_state ); List< CAbstractMatchDelta > deltas = new List< CAbstractMatchDelta >(); deltas.Add( new CMatchState.CMatchStateDelta( new_state ) ); Send_Message_To_Members( new CMatchStateDeltaMessage( deltas ), EPersistenceID.Invalid ); if ( new_state == EMatchInstanceState.Halted_End_Of_Match || new_state == EMatchInstanceState.Halted_Player_Left ) { long match_shutdown_time = CServerLogicalThread.CurrentThreadTime + CTimeKeeperThread.Convert_Seconds_To_Internal_Time( MATCH_SHUTDOWN_GRACE_PERIOD ); CServerLogicalThread.Instance.TaskScheduler.Add_Scheduled_Task( new CMatchShutdownTask( ID, match_shutdown_time ) ); } } }
public virtual void Halt_Match( EMatchInstanceState new_state ) { State = new_state; }
public CMatchStateDelta( EMatchInstanceState state ) { State = state; }
public virtual void Halt_Match( EMatchInstanceState new_state ) { MatchState.Halt_Match( new_state ); }