/// <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(); } } }
public void SelectItem(GameObject item) //选中背包的格子 { if (selectionItem != null) { selectionItem.Uncheck(); //先把之前选中的变为没选中 } selectionItem = item.GetComponent <SquareControl>(); selectionItem.Checked(); //选中格子 }
private void Initialize() //背包关闭时对其初始化 { if (selectionItem != null) { selectionItem.Uncheck(); } selectionItem = null; isExchange = false; nameText.text = "something"; descriptionText.text = "something"; }
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(); }
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); }
/// <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); } } }
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); } }
/// <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; } }
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; } }