예제 #1
0
    public void EquipHealingItem(string name)
    {
        HealingItem item = Armory.GetItem <HealingItem>(name);

        if (item != null)
        {
            if (item.HealingType == HealingType.Primary)
            {
                EquippedPrimaryHealing = item;
            }
            else
            {
                EquippedSecondaryHealing = item;
            }
        }
    }
예제 #2
0
 private void DisplayHealingItemGui(HealingItem healingItem)
 {
     coolDown   = healingItem.coolDown;
     targetHeal = healingItem.targetHeal;
     healAmt    = healingItem.healAmt;
 }
예제 #3
0
    private void SelectMenuChoice()
    {
        if (checkingWeapons)
        {
            Weapon weapon = weaponList[menuCursorPosition - 1];
            if (weapon != null && MapUIInfo.selectedAllyUnit_AllyStats.CanUseWeapon(weapon))
            {
                EquipWeapon(weapon);
                MapUIInfo.tileController.SetCurrentTile(MapUIInfo.selectedAllyUnit);
                if (MapUIInfo.tileController.EnemyInRange(MapUIInfo.selectedAllyUnit_AllyStats.GetMinRange(), MapUIInfo.selectedAllyUnit_AllyStats.GetMaxRange()))
                {
                    MapUIInfo.tileController.ShowWeaponRange(MapUIInfo.selectedAllyUnit_AllyStats.GetMinRange(),
                                                             MapUIInfo.selectedAllyUnit_AllyStats.GetMaxRange());
                    MapUIInfo.mapManager.unitState = UnitStates.FINDING_TARGET;
                }
            }
        }
        else if (checkingItems)
        {
            if (unitInventory[menuCursorPosition - 1] != null && unitInventory[menuCursorPosition - 1].GetType() == typeof(Weapon) &&
                MapUIInfo.selectedAllyUnit_AllyStats.CanUseWeapon(menuCursorPosition - 1))
            {
                EquipWeapon();
            }
            else if (unitInventory[menuCursorPosition - 1] != null && unitInventory[menuCursorPosition - 1].GetType() == typeof(HealingItem))
            {
                HealingItem item = (HealingItem)unitInventory[menuCursorPosition - 1];
                MapUIInfo.selectedAllyUnit_AllyStats.hp += item.healAmount;
                if (MapUIInfo.selectedAllyUnit_AllyStats.hp > MapUIInfo.selectedAllyUnit_AllyStats.maxHP)
                {
                    MapUIInfo.selectedAllyUnit_AllyStats.hp = MapUIInfo.selectedAllyUnit_AllyStats.maxHP;
                }
                item.currentUses--;
                if (item.currentUses == 0)
                {
                    unitInventory[menuCursorPosition - 1] = null;
                }
                MapUIInfo.selectedAllyUnit_AllyStats.finishedTurn = true;
                MapUIInfo.mapManager.unitState = UnitStates.MOVED;
            }
        }

        else if (checkingBlackMagic && (menuCursorPosition - 1) < MapUIInfo.selectedAllyUnit_AllyStats.blackMagic.Count)
        {
            MapUIInfo.tileController.SetCurrentTile(MapUIInfo.selectedAllyUnit);
            EquipBlackMagic();
            if (MapUIInfo.tileController.EnemyInRange(MapUIInfo.selectedAllyUnit_AllyStats.GetMinRange(), MapUIInfo.selectedAllyUnit_AllyStats.GetMaxRange()))
            {
                MapUIInfo.tileController.ShowWeaponRange(MapUIInfo.selectedAllyUnit_AllyStats.equippedBlackMagic.minRange,
                                                         MapUIInfo.selectedAllyUnit_AllyStats.equippedBlackMagic.maxRange);
                MapUIInfo.mapManager.unitState = UnitStates.FINDING_TARGET;
            }
        }

        else if (checkingWhiteMagic)
        {
            MapUIInfo.tileController.SetCurrentTile(MapUIInfo.selectedAllyUnit);
            EquipWhiteMagic();
            HealingMagic temp = (HealingMagic)MapUIInfo.selectedAllyUnit_AllyStats.whiteMagic[menuCursorPosition - 1];
            if (temp && MapUIInfo.tileController.AllyInRange(temp.minRange, temp.maxRange))
            {
                MapUIInfo.mapManager.unitState = UnitStates.FINDING_ALLY;
                MapUIInfo.tileController.FindHealableTiles(temp.minRange, temp.maxRange);
            }
        }
    }