Пример #1
0
    private void AddTower(ScriptableTower tower)
    {
        var snakeNode = Instantiate(tower.Prefab, transform.position, Quaternion.identity, transform).GetComponent <SnakeNode>();

        Attach(snakeNode);
        snakeNode.OnEnemyCollision += Detach;
    }
Пример #2
0
 private void AddTower(ScriptableTower unlockableTower)
 {
     if (GameManager.Instance.CurrencyCount >= unlockableTower.UnlockPrice)
     {
         GameManager.Instance.CurrencyCount -= unlockableTower.UnlockPrice;
         GameManager.Instance.AddAvailableTower(unlockableTower);
         SwitchUnlockableTower(false);
     }
 }
Пример #3
0
    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;;
    }
Пример #4
0
    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();
    }