using System;
using System.Collections;

namespace Server.Items
{
    public class Chessboard : BaseGameBoard
    {
        public override int LabelNumber { get { return 1016450; } } // a chessboard

        [Constructable]
        public Chessboard()
            : base(0xFA6)
        {
        }

        public override void CreatePieces()
        {
            for (int i = 0; i < 8; i++)
            {
                CreatePiece(new PieceBlackPawn(this), 67, (25 * i) + 17);
                CreatePiece(new PieceWhitePawn(this), 192, (25 * i) + 17);
            }

            // Rook
            CreatePiece(new PieceBlackRook(this), 42, 5);
            CreatePiece(new PieceBlackRook(this), 42, 180);

            CreatePiece(new PieceWhiteRook(this), 216, 5);
            CreatePiece(new PieceWhiteRook(this), 216, 180);

            // Knight
            CreatePiece(new PieceBlackKnight(this), 42, 30);
            CreatePiece(new PieceBlackKnight(this), 42, 155);

            CreatePiece(new PieceWhiteKnight(this), 216, 30);
            CreatePiece(new PieceWhiteKnight(this), 216, 155);

            // Bishop
            CreatePiece(new PieceBlackBishop(this), 42, 55);
            CreatePiece(new PieceBlackBishop(this), 42, 130);

            CreatePiece(new PieceWhiteBishop(this), 216, 55);
            CreatePiece(new PieceWhiteBishop(this), 216, 130);

            // Queen
            CreatePiece(new PieceBlackQueen(this), 42, 105);
            CreatePiece(new PieceWhiteQueen(this), 216, 105);

            // King
            CreatePiece(new PieceBlackKing(this), 42, 80);
            CreatePiece(new PieceWhiteKing(this), 216, 80);
        }

        public Chessboard(Serial serial)
            : base(serial)
        {
        }

        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0); // version
        }

        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();
        }
    }
}