public void HandleBoardTileRightClicked(BoardTile tile) { if (selectedUnit) { SendUnitOrderMove(tile.x, tile.y); } }
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); }
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; }