示例#1
0
 public GameState(List <Player> players, List <Library> libraries, List <Sideboard> sideboards)
 {
     this.StartState      = new StartState();
     this.Players         = new List <Player>();
     this.PlayerStates    = new List <PlayerState>();
     this.Hands           = new List <Hand>();
     this.Libraries       = new List <Library>();
     this.Graveyards      = new List <Graveyard>();
     this.Battlefield     = new Battlefield();
     this.Sideboards      = new List <Sideboard>();
     this.Stack           = new Stack();
     this.Exile           = new Exile();
     this.TurnNumber      = 0;
     this.Phase           = Phase.Beginning;
     this.Step            = Step.Untap;
     this.BeginningOfStep = true;
     players.ZipDo(libraries, sideboards, (p, l, s) =>
     {
         this.Players.Add(p);
         this.PlayerStates.Add(new PlayerState());
         this.Libraries.Add(l);
         this.Hands.Add(new Hand(p));
         this.Graveyards.Add(new Graveyard(p));
         this.Sideboards.Add(s);
     });
 }
示例#2
0
 public GameState(GameState o)
 {
     this.StartState      = o.StartState.Duplicate() as StartState;
     this.Players         = o.Players;
     this.PlayerStates    = o.PlayerStates.Duplicate();
     this.Libraries       = o.Libraries.Duplicate();
     this.Hands           = o.Hands.Duplicate();
     this.Graveyards      = o.Graveyards.Duplicate();
     this.Battlefield     = o.Battlefield.Duplicate() as Battlefield;
     this.Stack           = o.Stack.Duplicate() as Stack;
     this.Exile           = o.Exile.Duplicate() as Exile;
     this.Starting        = o.Starting;
     this.Active          = o.Active;
     this.Priority        = o.Priority;
     this.TurnNumber      = o.TurnNumber;
     this.Phase           = o.Phase;
     this.Step            = o.Step;
     this.IsGameOver      = o.IsGameOver;
     this.BeginningOfStep = o.BeginningOfStep;
 }
示例#3
0
 public Exile(Exile o)
     : base(o)
 {
 }