예제 #1
0
 public sealed override PhaseList advance(UserAction userAction, IGame game)
 {
     return(advance(game));
 }
예제 #2
0
 /// <summary>
 /// process this Phase given the current state of the game and possible userActions and return following phases.
 /// </summary>
 /// <param name="userAction">userAction feeded, null if there is no useraction</param>
 /// <param name="game">the game status</param>
 /// <returns>The following phases this phase leads</returns>
 public abstract PhaseList advance(UserAction userAction, IGame game);
예제 #3
0
 public override sealed PhaseList handleUserAction(UserAction userAction, IGame game)
 {
     return(timeOutAdvance(game));
 }
예제 #4
0
 /// <summary>
 /// It figures out the type of userAction and calls corresponding methods.
 /// Those methods will return null as default value, which means to do nothing.
 /// </summary>
 /// <param name="userAction">userAction to be handled, cannot be null</param>
 /// <param name="game"></param>
 /// <returns>the following phased produced</returns>
 public override sealed PhaseList handleUserAction(UserAction userAction, IGame game)
 {
     return(userAction.processedBy(this, game));
 }
예제 #5
0
 /// <summary>
 /// Hanlde user action happened in this phase
 /// </summary>
 /// <param name="userAction"></param>
 /// <param name="game"></param>
 /// <returns></returns>
 public abstract PhaseList handleUserAction(UserAction userAction, IGame game);