private void ReplaceBoard(SaveData _data) { BlackPlayer.Reset(); WhitePlayer.Reset(); Pawns.Clear(); int number = 0; foreach (var color in _data.Pawns) { if (color == PawnColor.Black) { Pawns.Add(new Pawn(BlackPlayer, number)); } else if (color == PawnColor.White) { Pawns.Add(new Pawn(WhitePlayer, number)); } else { Pawns.Add(new Pawn(null, number)); } number++; } BlackPlayer.Time = _data.BlackTime; WhitePlayer.Time = _data.WhiteTime; CurrentPlayer = WhitePlayer; if (_data.CurrentPlayer == PawnColor.Black) { CurrentPlayer = BlackPlayer; } GetLegalMove(CurrentPlayer); UpdateScore(); }
protected override void BuildPawnList() { Pawns.Clear(); IEnumerable <Pawn> sorted; switch (OrderBy) { case Order.Work: sorted = from p in Find.ListerPawns.FreeColonists orderby(p.story == null || p.story.WorkTypeIsDisabled(_workOrder)), p.skills.AverageOfRelevantSkillsFor(_workOrder) descending select p; break; case Order.Name: sorted = from p in Find.ListerPawns.FreeColonists orderby p.LabelCap ascending select p; break; default: sorted = Find.ListerPawns.FreeColonists; break; } Pawns = sorted.ToList(); if (_asc && Pawns.Count > 1) { Pawns.Reverse(); } }
public void ClearPawns() { foreach (Pawn pawn in Pawns) { GameObject.Destroy(pawn.gameObject); } Pawns.Clear(); }