protected override Piece initPiece(PieceLoadInfo loadInfo, int x, int y)
        {
            if (_inspectInfos == null)
            {
                _inspectInfos = new Dictionary <int, CoVidPlayerInspectInfo>();
                foreach (var playerInfo in coVidPlayers)
                {
                    _inspectInfos.Add(playerInfo.Id, playerInfo);
                }
            }

            var piece = base.initPiece(loadInfo, x, y);

            CoVidAttribute coVidAttribute = null;

            switch (loadInfo.PieceName)
            {
            case "pawn":
                coVidAttribute = new PawnCoVidAttribute();
                break;

            case "knight":
                coVidAttribute = new KnightCoVidAttribute();
                break;

            case "luke":
                coVidAttribute = new LukeCoVidAttribute();
                break;

            case "bishop":
                coVidAttribute = new BishopCoVidAttribute();
                break;

            case "queen":
                coVidAttribute = new QueenCoVidAttribute();
                break;

            case "king":
                coVidAttribute = new KingCoVidAttribute();
                break;
            }

            if (coVidAttribute != null)
            {
                piece.addAttribute(coVidAttribute);
                var coVidPlayer = _inspectInfos[loadInfo.Player.getId()].Player;
                piece.addAttribute(new StayHomeAttribute(coVidAttribute, coVidPlayer));
            }


            return(piece);
        }
Пример #2
0
        void initAttr()
        {
            int inited = 0;

            if (piece.hasAttribute <CoVidAttribute>())
            {
                _coVidAttribute = piece.getAttribute <CoVidAttribute>();
                inited++;
            }

            if (piece.hasAttribute <StayHomeAttribute>())
            {
                _stayHomeAttribute = piece.getAttribute <StayHomeAttribute>();
                inited++;
            }

            if (inited >= 2)
            {
                _initialized = true;
            }
        }
Пример #3
0
 public StayHomeAttribute(CoVidAttribute attribute, CoVidPlayer player)
 {
     _coVid  = attribute;
     _player = player;
 }