//despawn the tower and give back the money public void despawn() { GameObject moneyAddObj = Instantiate(moneyAdd); MoneyAddedBehaviour moneyAddBehave = moneyAddObj.GetComponent <MoneyAddedBehaviour>(); moneyAddBehave.activateRefund((int)(GameManager.instance.getRefundMoney(selectedTower.getTowerType())), selectedTower.transform.position); TowerGridBlocker blocker = selectedTower.gameObject.GetComponent <TowerGridBlocker>(); blocker.removeGridStatus(); GameManager.instance.refund(selectedTower.getTowerType()); Destroy(selectedTower.gameObject); GameEvents.current.TowerUnselected(); GameManager.instance.currentStatus = GameStatus.PLAY; OnTowerUnselected(); }