public void DisablePieceInteraction(GameObject[] pieces) { foreach (GameObject piece in pieces) { PieceInteraction pieceInteraction = piece.GetComponent <PieceInteraction>(); pieceInteraction.enabled = false; } }
private void _processAction(BoardAction action) { _gameEngine.Board.ClearMovingUI(); switch (action.Name) { case BoardAction.END_LEVEL: action.CellFrom.Piece.Stats.visible = false; action.CellFrom.Piece.zIndex = ZIndex.FIGHT_UI; MoveAndScalePieceCallback(action.CellFrom.Piece, action.CellTo.Pos, 0.4f, new Vector3(0, -0.25f, 0), LevelComplete); break; case BoardAction.MOVE: if (action.CellTo) { changeState(GameState.ANIMATING_MOVE); _gameEngine.Board.MovePiece(action.CellFrom, action.CellTo); } break; case BoardAction.ATTACK: changeState(GameState.MY_TURN_FIGHTING); _gameEngine.Board.AttackPiece(action.CellFrom, action.CellTo); break; case BoardAction.ATTACK_HELP: changeState(GameState.MY_TURN_FIGHTING); _gameEngine.Board.AttackHelpPiece(action.CellFrom, action.CellTo); break; case BoardAction.DEFEND_HELP: changeState(GameState.MY_TURN_FIGHTING); _gameEngine.Board.DefendHelpPiece(action.CellFrom, action.CellTo); break; case BoardAction.INTERACTION: changeState(GameState.ANIMATING_MOVE); PieceInteraction.Interact(action.CellFrom, action.CellTo); break; } if (action.Name != BoardAction.END_LEVEL && action.CellTo) { if (action.CellTo.Piece.HasKing() || action.CellFrom.Piece.HasKing() || (action.CellTo.HasFight && action.CellTo.AttackerPiece.HasKing())) { _gameEngine.CenterCamera(action.CellTo.transform.position); } } }