예제 #1
0
 public void Push(ref GameState topstate)
 {
     if (inuse)
         throw new InvalidOperationException();
     next = topstate;
     topstate = this;
     inuse = true;
 }
예제 #2
0
파일: Core.cs 프로젝트: VenoMpie/DoomSharp
 static Core()
 {
     console = new DoomConsole();
     video = new NullVideoSystem(false);
     music = new MusicPlayer();
     archives = new MultiArchive();
     topstate = null;
     stopwatch = Stopwatch.StartNew();
     lasttime = 0;
     coresystems = new Dictionary<string,Type>();
     PushState(new RootState());
 }
예제 #3
0
 public GameState()
 {
     this.inuse = false;
     this.next = null;
 }
예제 #4
0
파일: Core.cs 프로젝트: VenoMpie/DoomSharp
 public static void PopState()
 {
     if (topstate is RootState)
         throw new InvalidOperationException();
     topstate = topstate.Next;
 }
예제 #5
0
파일: Core.cs 프로젝트: VenoMpie/DoomSharp
 public static void PushState(GameState state)
 {
     if (state == null)
         throw new ArgumentNullException("state");
     state.Push(ref topstate);
 }