void SpawnEnemy(BaseTile baseTile) { if (baseTile != null) { EnemyCounter++; BaseEnemy Inst = Instantiate(RandomChosenEnemy(), baseTile.transform.position, Quaternion.identity); baseTile.AddUnitOnTile(Inst); Inst.onEnemyDestroy += DecreaseEnemies; } }
void DeployUnit(ref BaseTile baseTile) { Vector2Int position = baseTile.PositionOnGrid; PaintType type = GetPaintType(position.x, position.y); if (glossary.GetPrefabUnit(type) == null) { return; } BaseUnit baseUnit = Instantiate(glossary.GetPrefabUnit(type), baseTile.transform.position, Quaternion.identity, gameObject.transform); baseTile.AddUnitOnTile(baseUnit); baseUnit.name = (baseUnit.GetType()).ToString() + " x: " + position.x + " y: " + position.y; }
protected bool Move(int xDir, int yDir) { if (MoveProgressing == null) { BaseTile tempBaseTile = GetNeigbourInDirection(xDir, yDir); if (tempBaseTile == null) { return(false); } Vector3 TargetPosition = tempBaseTile.GetLocation(); MoveProgressing = StartCoroutine(SmoothMovement(TargetPosition, MoveDuration)); tile.RemovUnitOnTile(this); tile = tempBaseTile; tile.AddUnitOnTile(this); return(true); } return(false); }