//Called when a UI ability button is selected
    public void selectAbility()
    {
        //temporary variable holding the ability name
        string nameOfAbility = GameObject.Find("AbilityName").GetComponentInChildren <Text>().text;

        //foreach statement to find the ability of the button pressed
        foreach (var Ability in referenceBattleEngine.HeroData.Abilities)
        {
            if (nameOfAbility == Ability.name)
            {
                referenceBattleEngine.ChosenAbility = Ability;
                Debug.Log("targetAbility is now: " + referenceBattleEngine.ChosenAbility.name);
                referenceBattleEngine.usingAbility = true;
            }
        }

        //enable enemy targeting canvas
        referenceUImanager.targetEnemyCanvasParent.SetActive(true);

        //disable ability selection canvas
        GameObject.Find("AbilitiesPanel").SetActive(false);

        //delete instantiated ability buttons
        referenceUImanager.DeleteItemsPrefab();

        //instantiate target enemy buttons
        referenceUImanager.InstantiateTargetEnemyPrefab();
    }
    void Delay()
    {
        Debug.Log("Delay Working");

        //activate hero action panel
        referenceUImanager.ActionPanel.SetActive(true);

        //delete button prefabs
        referenceUImanager.DeleteItemsPrefab();
    }
Example #3
0
    public void onClick()
    {
        //assign item to chosen item referencer in battlemanager script
        foreach (var item in GameObject.Find("BattleManager").GetComponentInChildren <BattleEngine>().HeroData.Inventory)
        {
            if (gameObject.GetComponentsInChildren <Text>()[0].text == item.itemName)
            {
                GameObject.Find("BattleManager").GetComponentInChildren <BattleEngine>().ChosenItem = item;
            }
        }

        //activate target enemy panel
        referenceUImanager.targetEnemyCanvasParent.SetActive(true);
        //disable inventory panel
        GameObject.Find("InventoryPanel").SetActive(false);
        //delete item prefabs
        referenceUImanager.DeleteItemsPrefab();
        //instantiate targethero prefabs
        referenceUImanager.InstantiateTargetHeroPrefab();
    }
    public void setHeroTarget()
    {
        i = 0;

        BattleEngine  referenceBattleEngine  = GameObject.Find("BattleManager").GetComponentInChildren <BattleEngine>();
        UImanager     referenceUImanager     = GameObject.Find("BattleManager").GetComponentInChildren <UImanager>();
        DamageManager referenceDamageManager = GameObject.Find("BattleManager").GetComponentInChildren <DamageManager>();

        var item = referenceBattleEngine.ChosenItem;

        foreach (var hero in referenceBattleEngine.baseHeros)
        {
            if (hero.name == gameObject.GetComponentsInChildren <Text>()[0].text)
            {
                targetHero = hero;
            }
        }

        switch (item.StatusEffect.ToString())
        {
        case "REVIVE":
            if (targetHero.curHP <= 0)
            {
                targetHero.curHP += item.restoreValue;
                Debug.Log(targetHero.name + "has been revived!");
            }
            else
            {
                Debug.Log(item.itemName + " had no effect!");
            }
            break;

        case "HEALTH":
            if (targetHero.curHP > 0 && targetHero.curHP > targetHero.baseHP)
            {
                targetHero.curHP += item.restoreValue;
                Debug.Log(targetHero.name + "has been healed!");
            }
            else
            {
                Debug.Log(item.itemName + " had no effect!");
            }
            break;

        case "MANA":
            if (targetHero.curHP > 0 && targetHero.curMP > targetHero.baseMP)
            {
                targetHero.curMP += item.restoreValue;
                Debug.Log(targetHero.name + "has been given MP!");
            }
            else
            {
                Debug.Log(item.itemName + " had no effect!");
            }
            break;

        case "MULTIRESTORE":
            if (targetHero.curHP > 0)
            {
                targetHero.curHP += item.restoreValue;
                targetHero.curMP += item.restoreValue;
                Debug.Log(targetHero.name + "has been healed and given MP!");
                if (targetHero.curHP > targetHero.baseHP)
                {
                    targetHero.curHP = targetHero.baseHP;
                }
                if (targetHero.curMP > targetHero.baseMP)
                {
                    targetHero.curMP = targetHero.baseMP;
                }
            }
            else
            {
                Debug.Log(item.itemName + " had no effect!");
            }
            break;
        }

        foreach (var inventoryItem in referenceBattleEngine.HeroData.Inventory)
        {
            if (inventoryItem.itemName == item.itemName)
            {
                referenceBattleEngine.HeroData.Inventory.RemoveAt(i);
                break;
            }

            i++;
        }

        if (referenceBattleEngine.HeroData != referenceBattleEngine.Hero4Data)
        {
            Invoke("Delay", 1);
            referenceUImanager.ActionPanel.SetActive(true);
        }

        referenceUImanager.DeleteItemsPrefab();
        GameObject.Find("TargetEnemyPanel").SetActive(false);
        referenceBattleEngine.StateControl();
    }