Ejemplo n.º 1
0
        /// <summary>
        /// Método que controla la pulsación de una celda por parte del usuario
        /// </summary>
        private void Square_CheckedChanged(object sender, EventArgs e)
        {
            SquareControl square = (SquareControl)sender;

            if (square.Checked)
            {
                if (_game.State == GameState.PendingForWhiteMove || _game.State == GameState.PendingForBlackMove)
                {
                    // Si el juego está pendiente de iniciar movimiento se selecciona la celda pulsada
                    _game.SelectPiece(square.BoardSquare);
                }
                else if (_game.State == GameState.WhitePlayerMoving || _game.State == GameState.BlackPlayerMoving)
                {
                    // Si el juego está pendiente de finalizar movimiento se ejecuta el movimiento correspondiente
                    // y se deseleccionan las celdas del movimiento
                    if (_game.MoveToSquare(square.BoardSquare))
                    {
                        square.Checked = false;
                        _squares.First(s => s.Checked).Checked = false;
                    }
                }
            }
            else
            {
                // Si el juego está pendiente de completar el movimiento se deselecciona la celda
                if (_game.State == GameState.WhitePlayerMoving || _game.State == GameState.BlackPlayerMoving)
                {
                    _game.UnselectPiece();
                }
            }
        }
Ejemplo n.º 2
0
 public void SelectItem(GameObject item)     //选中背包的格子
 {
     if (selectionItem != null)
     {
         selectionItem.Uncheck();            //先把之前选中的变为没选中
     }
     selectionItem = item.GetComponent <SquareControl>();
     selectionItem.Checked();                //选中格子
 }
Ejemplo n.º 3
0
 private void Initialize()       //背包关闭时对其初始化
 {
     if (selectionItem != null)
     {
         selectionItem.Uncheck();
     }
     selectionItem        = null;
     isExchange           = false;
     nameText.text        = "something";
     descriptionText.text = "something";
 }
Ejemplo n.º 4
0
    public void Exchange(SquareControl other)       //交换按钮
    {
        // string swapName = selectionItem.ItemName;
        // int swapNumber = selectionItem.ItemNumber;
        // selectionItem.ItemName = other.ItemName;
        // selectionItem.ItemNumber = other.ItemNumber;
        // other.ItemName = swapName;
        // other.ItemNumber = swapNumber;
        ItemProperty squareProperty = selectionItem.ItemProperty;

        selectionItem.ItemProperty = other.ItemProperty;
        other.ItemProperty         = squareProperty;
        selectionItem.ChangeTexture(selectionItem.ItemName, selectionItem.ItemType);
        other.ChangeTexture(other.ItemName, other.ItemType);
        Initialize();
    }
Ejemplo n.º 5
0
 private void ChessGameForm_Load(object sender, EventArgs e)
 {
     // Creamos los controles para las celdas del tablero
     foreach (Square square in _game.Board)
     {
         SquareControl control = new SquareControl();
         control.BoardSquare = square;
         _squares.Add(control);
         control.CheckedChanged += Square_CheckedChanged;
     }
     panelBoard.Controls.AddRange(_squares.ToArray());
     // Controlador para el evento de cambio de estado del juego
     _game.StateChanged += Game_StateChanged;
     // Inicia el juego colocando en la parte superior el color seleccionado
     _game.Start(radioBlack.Checked ? PlayerColor.Black : PlayerColor.White);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 添加列头
        /// </summary>
        private void AddCol()
        {
            lstCol = new List <SquareControl>();
            int index = 0;

            for (int i = 0; i < 13; i++)
            {
                if (i == 0)
                {
                    SquareControl SquControl = new SquareControl();
                    TablesInfo    tbleEs     = new TablesInfo();
                    tbleEs.BgColor          = Color.Transparent;
                    tbleEs.X                = 3;
                    tbleEs.Y                = 5;
                    tbleEs.SWidth           = 42;
                    tbleEs.SHeight          = 27;
                    tbleEs.ColFla           = true;
                    tbleEs.RowFla           = false;
                    tbleEs.AllCheckedFla    = true;
                    tbleEs.CheckedFla       = false;
                    tbleEs.StrTitle         = "";
                    SquControl.TablesInfoEs = tbleEs;
                    panel1.Controls.Add(SquControl);
                    lstCol.Add(SquControl);
                }
                else
                {
                    //intX =(intWidth *13 +24 ) + (intWidth - 42);
                    index += intWidth + 5;
                    SquareControl SquControl = new SquareControl();
                    TablesInfo    tbleEs     = new TablesInfo();
                    tbleEs.BgColor          = Color.Transparent;
                    tbleEs.X                = index;
                    tbleEs.Y                = 5;
                    tbleEs.SWidth           = 42;
                    tbleEs.SHeight          = 27;
                    tbleEs.ColFla           = true;
                    tbleEs.RowFla           = false;
                    tbleEs.AllCheckedFla    = false;
                    tbleEs.CheckedFla       = false;
                    tbleEs.StrTitle         = i.ToString();
                    SquControl.TablesInfoEs = tbleEs;
                    panel1.Controls.Add(SquControl);
                    lstCol.Add(SquControl);
                }
            }
        }
Ejemplo n.º 7
0
        private void AddTable()
        {
            AddCol(); //列
            AddRow(); //行

            lstTable = new List <TablesInfo>();
            int _x        = 0;
            int _y        = 0;
            int intRecord = 0;

            for (int i = 0; i < 96; i++)
            {
                if (i % 12 == 0 && i == 0)
                {
                    _x = 59;
                    _y = 40;
                }
                else
                {
                    if (i % 12 == 0)
                    {
                        _x  = 59;
                        _y += intHeight + 4;
                    }
                    else
                    {
                        _x += intWidth + 4;
                    }
                }
                SquareControl SquControl = new SquareControl();
                TablesInfo    tbleEs     = new TablesInfo();
                tbleEs.BgColor          = Color.White;
                tbleEs.X                = _x;
                tbleEs.Y                = _y;
                tbleEs.SWidth           = 53;
                tbleEs.SHeight          = 38;
                tbleEs.ColFla           = false;
                tbleEs.RowFla           = false;
                tbleEs.AllCheckedFla    = false;
                tbleEs.CheckedFla       = false;
                tbleEs.CenterTable      = true;
                tbleEs.StrTitle         = "";
                SquControl.TablesInfoEs = tbleEs;
                panel1.Controls.Add(SquControl);
                lstTable.Add(tbleEs);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 添加行头
        /// </summary>
        private void AddRow()
        {
            lstRow = new List <SquareControl>();
            int index = 0;

            for (int i = 0; i < 8; i++)
            {
                SquareControl SquControl = new SquareControl();
                TablesInfo    tbleEs     = new TablesInfo();
                tbleEs.BgColor          = Color.Transparent;
                tbleEs.X                = 3;
                tbleEs.Y                = index + intHeight;
                tbleEs.SWidth           = 42;
                tbleEs.SHeight          = 27;
                tbleEs.ColFla           = false;
                tbleEs.RowFla           = true;
                tbleEs.AllCheckedFla    = false;
                tbleEs.StrTitle         = character[i].ToString();
                SquControl.TablesInfoEs = tbleEs;
                panel1.Controls.Add(SquControl);
                lstRow.Add(SquControl);
                index += intHeight + 4;
            }
        }
Ejemplo n.º 9
0
    public void ShowItemText(string name, string type, SquareControl square)          //显示物品信息
    {
        switch (type)
        {
        case "prop":
            nameText.text = name;
            if (name == "null")
            {
                descriptionText.text = "null";
            }
            else
            {
                // descriptionText.text = ItemManager.Instance.propValue[name]["description"] as string;
                descriptionText.text = (string)ItemManager.Instance.GetPropertyByName(name, type, "description");
            }
            break;

        case "weapon":
            nameText.text = name;
            if (name == "null")
            {
                descriptionText.text = "null";
            }
            else
            {
                WeaponProperty wp = (WeaponProperty)square.ItemProperty;
                descriptionText.text = "Multiple:" + wp.weaponProperties.Multiple + "\n"
                                       + "DamageLevel:" + wp.weaponProperties.DamageLevel + "\n"
                                       + "TrackBullet:" + wp.weaponProperties.TrackBullet + "\n"
                                       + "BulletRange:" + wp.weaponProperties.BulletRange + "\n"
                                       + "Slot1:" + wp.weaponProperties.shoot[0] + "\n"
                                       + "Slot2:" + wp.weaponProperties.shoot[1] + "\n"
                                       + "Slot3:" + wp.weaponProperties.shoot[2] + "\n";
            }
            break;

        case "slot":
            nameText.text = name;
            if (name == "null")
            {
                descriptionText.text = "null";
            }
            else
            {
                // descriptionText.text = ItemManager.Instance.propValue[name]["description"] as string;
                descriptionText.text = (string)ItemManager.Instance.GetPropertyByName(name, type, "description");
            }
            break;

        default:
            nameText.text = name;
            if (name == "null")
            {
                descriptionText.text = "null";
            }
            else
            {
                // descriptionText.text = ItemManager.Instance.propValue[name]["description"] as string;
                descriptionText.text = (string)ItemManager.Instance.GetPropertyByName(name, type, "description");
            }
            break;
        }
    }