public static List <string> GetValuesFromCategory(NextAttackCategory category)
    {
        switch (category)
        {
        case NextAttackCategory.HEALTH: return(M.GetListOfEnum(typeof(NextAttackValueHealth)));

        case NextAttackCategory.POSITION: return(M.GetListOfEnum(typeof(NextAttackValuePosition)));

        default: return(new List <string>());
        }
    }
示例#2
0
        public BossAttackNext(Boss boss, DataAttackNext dan, LevelManager mgLevel)
        {
            next = boss.GetAttack(dan.nextAttack);
            NextAttackCategory category = (NextAttackCategory)M.GetEnum <NextAttackCategory>(dan.category);

            switch (category)
            {
            case NextAttackCategory.HEALTH:
                switch ((NextAttackValueHealth)M.GetEnum <NextAttackValueHealth>(dan.value))
                {
                case NextAttackValueHealth.LOW: check = delegate { return(boss.health.GetPerc() < 0.35f); };
                    break;

                case NextAttackValueHealth.MED:
                    check = delegate { return(boss.health.GetPerc() >= 0.35f && boss.health.GetPerc() <= 0.65); };
                    break;

                case NextAttackValueHealth.HIGH: check = delegate { return(boss.health.GetPerc() > 0.65f); };
                    break;
                }
                break;

            case NextAttackCategory.POSITION:
                switch ((NextAttackValuePosition)M.GetEnum <NextAttackValuePosition>(dan.value))
                {
                case NextAttackValuePosition.LEFT: check = delegate { return(mgLevel.GetSignedPercToMid(boss.gameObject) < 0f); };
                    break;

                case NextAttackValuePosition.MID: check = delegate { return(mgLevel.GetSignedPercToMid(boss.gameObject) > -0.3f && mgLevel.GetSignedPercToMid(boss.gameObject) < 0.3f); };
                    break;

                case NextAttackValuePosition.RIGHT: check = delegate { return(mgLevel.GetSignedPercToMid(boss.gameObject) > 0f); };
                    break;
                }
                break;
            }
        }