예제 #1
0
파일: Battle.cs 프로젝트: tapenjoyGame/cry
    protected void UpdateMana(float deltaTime)
    {
        float mp_fill = BattleConfig.Instance.MPFill;

        BattleCreature creature = update_mana_creature_index == -1 ? null : characters[update_mana_creature_index] as BattleCreature;

        if (creature != null)
        {
            if (creature.IsDead == true || creature.IsPlayingSkill == true)
            {
                creature.IsManaFill = false;
                NextCreature(true);
            }
            else
            {
                creature.IsManaFill = true;
                creature.UpdateMana(Mathf.RoundToInt(deltaTime * mp_fill));
            }

            if (creature.Stat.IsMPFull == true)
            {
                creature.IsManaFill = false;
                NextCreature(true);
                if (Tutorial.Instance.CheckConditionManaFull(creature.Info) == true)
                {
                    Tutorial.Instance.SetConditionOK();
                }
            }
        }
        else
        {
            NextCreature(true);
        }

        BattleCreature enemy = update_mana_enemy_index == -1 ? null : enemies[update_mana_enemy_index] as BattleCreature;
        ICreature      boss  = enemies.Find(e => e.MapCreature != null && e.MapCreature.CreatureType == eMapCreatureType.Boss);

        if (boss != null && boss != enemy)
        {
            if (enemy != null)
            {
                enemy.IsManaFill = false;
            }

            enemy            = boss as BattleCreature;
            enemy.IsManaFill = true;
        }
        if (enemy != null)
        {
            if (enemy.IsDead == true || enemy.IsPlayingSkill == true)
            {
                enemy.IsManaFill = false;
                NextCreature(false);
            }
            else
            {
                enemy.IsManaFill = true;
                enemy.UpdateMana(Mathf.RoundToInt(deltaTime * mp_fill));
            }

            if (enemy.Stat.IsMPFull == true)
            {
                enemy.IsManaFill = false;
                NextCreature(false);
            }
        }
        else
        {
            NextCreature(false);
        }
    }