2021-09-19 16:30:45 +03:00

29 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "New Build", menuName = "Actions/New Build")]
public class Build : PlayerAction
{
public GameObject buildPref;
public override bool IsActionAllowed(TileInfo targetTile, PlayerState playerState)
{
if (!targetTile)
return false;
bool permission = base.IsActionAllowed(targetTile, playerState);
bool isMyTile = targetTile.tileOwnerIndex == playerState.ownerIndex;
permission = permission && targetTile.canBuildHere && isMyTile;
return permission;
}
public override void StartActionOperations(TileInfo targetTile, PlayerState currentPlayer)
{
base.StartActionOperations(targetTile, currentPlayer);
targetTile.canMove = false;
var spawnedTower = Instantiate(buildPref, targetTile.tilePosition, buildPref.transform.rotation);
int activeModelIndex = (int)currentPlayer.ownerIndex - 1;
spawnedTower.transform.GetChild(activeModelIndex).gameObject.SetActive(true);
TileManagment.AssignBuildingToTile(targetTile, spawnedTower);
}
}