private static int GetEquipmentNum(ARENA_LIMIT limitType) { switch (limitType) { case ARENA_LIMIT.EQUIP_ONLY_ONE_WEAPON: return(1); case ARENA_LIMIT.EQUIP_TWO_WEAPONS: return(2); default: return(3); } }
private static SP_ATTACK_TYPE GetSPAttackType(ARENA_LIMIT limitType) { switch (limitType) { case ARENA_LIMIT.ACTION_TYPE_NORMAL: return(SP_ATTACK_TYPE.NONE); case ARENA_LIMIT.ACTION_TYPE_HEAT: return(SP_ATTACK_TYPE.HEAT); case ARENA_LIMIT.ACTION_TYPE_SOUL: return(SP_ATTACK_TYPE.SOUL); default: return(SP_ATTACK_TYPE.NONE); } }
public static bool JudgeLimit(ArenaTable.ArenaData arenaData, EquipItemTable.EquipItemData[] equipSet) { List <EQUIPMENT_TYPE> list = new List <EQUIPMENT_TYPE>(); List <SP_ATTACK_TYPE> list2 = new List <SP_ATTACK_TYPE>(); int num = 3; int i = 0; for (int num2 = arenaData.limits.Length; i < num2; i++) { ARENA_LIMIT aRENA_LIMIT = arenaData.limits[i]; if (aRENA_LIMIT != 0) { if (WeaponTypeLimit.Contains(aRENA_LIMIT)) { list.Add(GetEquipmentType(aRENA_LIMIT)); } else if (SpAttackTypeLimit.Contains(aRENA_LIMIT)) { list2.Add(GetSPAttackType(aRENA_LIMIT)); } else if (WeaponNumTypeLimit.Contains(aRENA_LIMIT)) { num = GetEquipmentNum(aRENA_LIMIT); } } } bool flag = true; if (list.Count >= 1) { flag &= JudgeLimitWeapon(list, equipSet); } if (list2.Count >= 1) { flag &= JudgeLimitWeaponAttackType(list2, equipSet); } if (num <= 2) { flag &= JudgeLimitWeaponNum(num, equipSet); } return(flag); }
private static EQUIPMENT_TYPE GetEquipmentType(ARENA_LIMIT limitType) { switch (limitType) { case ARENA_LIMIT.WEAPON_ONE_HAND_SWORD: return(EQUIPMENT_TYPE.ONE_HAND_SWORD); case ARENA_LIMIT.WEAPON_TWO_HAND_SWORD: return(EQUIPMENT_TYPE.TWO_HAND_SWORD); case ARENA_LIMIT.WEAPON_SPEAR: return(EQUIPMENT_TYPE.SPEAR); case ARENA_LIMIT.WEAPON_PAIR_SWORDS: return(EQUIPMENT_TYPE.PAIR_SWORDS); case ARENA_LIMIT.WEAPON_ARROW: return(EQUIPMENT_TYPE.ARROW); default: return(EQUIPMENT_TYPE.NONE); } }