Пример #1
0
        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();
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
    public void ClearPawns()
    {
        foreach (Pawn pawn in Pawns)
        {
            GameObject.Destroy(pawn.gameObject);
        }

        Pawns.Clear();
    }