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>()); } }
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; } }