private void AddTower(ScriptableTower tower) { var snakeNode = Instantiate(tower.Prefab, transform.position, Quaternion.identity, transform).GetComponent <SnakeNode>(); Attach(snakeNode); snakeNode.OnEnemyCollision += Detach; }
private void AddTower(ScriptableTower unlockableTower) { if (GameManager.Instance.CurrencyCount >= unlockableTower.UnlockPrice) { GameManager.Instance.CurrencyCount -= unlockableTower.UnlockPrice; GameManager.Instance.AddAvailableTower(unlockableTower); SwitchUnlockableTower(false); } }
private void Disable(ScriptableTower unlockableTower) { var playerOwnsUnlockable = PlayerPrefs.HasKey(unlockableTower.Key); shopItemManager.PurchaseButton.Button.interactable = GameManager.Instance.CurrencyCount >= unlockableTower.UnlockPrice; var image = shopItemManager.ItemImage; var alpha = playerOwnsUnlockable ? 0.5f : 1; image.color = new Color(image.color.r, image.color.g, image.color.b, alpha); shopItemManager.ItemText.text = playerOwnsUnlockable ? "ALREADY PURCHASED" : unlockableTower.Description;; }
private void SetTowerType(TowerType towerType, bool forceMaterialUpdate = false) { if (towerType == m_CurrentTowerType && m_CurrentScriptableTower != null && !forceMaterialUpdate) { return; } m_CurrentTowerType = towerType; m_CurrentScriptableTower = m_TowerTypeScriptableTower[towerType]; UpdateMaterials(); }