public void HandleBoardTileRightClicked(BoardTile tile)
 {
     if (selectedUnit)
     {
         SendUnitOrderMove(tile.x, tile.y);
     }
 }
Exemple #2
0
 public async Task HandleUnitActionMove(UnitActionMove unitAction)
 {
     if (movementCoroutine != null)
     {
         StopCoroutine(movementCoroutine);
     }
     tile = BattleController.Instance.board[unitAction.toX, unitAction.toY];
     movementCoroutine = StartCoroutine(AnimateMoveTo(tile.CenterPosition));
     await Task.Delay(100);
 }
Exemple #3
0
        public void Initialize(UnitInstanceData unitInstanceData)
        {
            unitInstanceId = unitInstanceData.unitInstanceId;
            SetAttack(unitInstanceData.attack);
            SetCount(unitInstanceData.count);
            playerId             = unitInstanceData.playerId;
            isFriendlyUnit.Value = playerId == BBClient.Instance.PlayerId;

            SetColor();

            tile = BattleController.Instance.board[unitInstanceData.x, unitInstanceData.y];
            transform.position = tile.centerTransform.position;
        }
        protected override void ApplySet()
        {
            RemoveAllTiles();

            float tileWidth  = (rectTransform.rect.width - ((boardCellsX - 1) * tileSpacing)) / boardCellsX;
            float tileHeight = (rectTransform.rect.height - ((boardCellsY - 1) * tileSpacing)) / boardCellsY;


            for (int i = 0; i < boardCellsX; i++)
            {
                for (int j = 0; j < boardCellsY; j++)
                {
                    BoardTile tile = Instantiate(tilePrefab, transform);
                    tile.x = i;
                    tile.y = j;
                    tile.rectTransform.sizeDelta        = new Vector2(tileWidth, tileHeight);
                    tile.rectTransform.anchoredPosition = new Vector3(i * (tileWidth + tileSpacing), -j * (tileHeight + tileSpacing), 0);

                    tiles.Add(tile);
                }
            }
        }
 public void HandleBoardTileLeftClicked(BoardTile tile)
 {
     selectedUnit?.Deselect();
     selectedUnit = null;
 }