/* * On mouse down check if the mouse is in or out and make actions * Place a turret * Upgrade the turret inside * Sell the turret */ void OnMouseDown() { if (EventSystem.current.IsPointerOverGameObject()) { return; } /* * if Turret null create a new turret */ if (turret.type == "") { TurretBuild turretToBuild = buildManager.GetTurretBuild(this); if (turretToBuild == null) { return; } foreach (GameObject child in GetChilds()) { Destroy(child); } turret.Set(turretToBuild); turret.prefab = Instantiate(turretToBuild.prefab, this.transform.position + new Vector3(0, 0.2f, 0), this.transform.rotation); } /* * if upgrade request */ else if (buildManager.upgrade) { TurretBuild turretToBuild = buildManager.GetTurretUpgrade(this); if (turretToBuild == null) { return; } Destroy(turret.prefab); turret.Set(turretToBuild); turret.prefab = Instantiate(turretToBuild.prefab, this.transform.position + new Vector3(0, 0.2f, 0), this.transform.rotation); } /* * if sell request */ else if (buildManager.sell) { buildManager.SellTurret(this); } if (showToBuild != null) { Destroy(showToBuild); } }
/* * Deselect turrets or cursors */ public void SelectNull() { CursorSprite.instance.ChangeCursor(""); toBuild = null; toShow = null; upgrade = false; sell = false; }
/* * Delete turret and return 1/2 of the turret cost */ public void SellTurret(Tile tile) { TurretBuild turret = tile.turret; Destroy(turret.prefab); playerStats.GetMoney(turret.cost / 2); turret.prefab = null; turret.cost = 0; turret.level = 0; turret.type = ""; }
public void Set(TurretBuild turret) { this.level = turret.level; this.type = turret.type; this.cost = turret.cost; }
/* * Select canon tower */ public void SelectCanon() { SelectNull(); toBuild = canonTurret[0]; toShow = canonTurretShow; }
/* * Select balista tower */ public void SelectBalista() { SelectNull(); toBuild = ballistaTurret[0]; toShow = ballistaTurretShow; }