public static bool cb(CSVReader csv_reader, DamageDistanceData data, ref uint key) { data.id = key; float num = 0f; List <DamagePoint> list = new List <DamagePoint>(); DamagePoint damagePoint = new DamagePoint(); damagePoint.distance = 0f; csv_reader.Pop(ref damagePoint.rate); list.Add(damagePoint); for (int i = 0; i < 10; i++) { DamagePoint damagePoint2 = new DamagePoint(); CSVReader.PopResult result = csv_reader.Pop(ref damagePoint2.distance); CSVReader.PopResult result2 = csv_reader.Pop(ref damagePoint2.rate); if (!(bool)result || !(bool)result2 || (float)damagePoint2.distance <= 0f || num >= (float)damagePoint2.distance) { break; } num = damagePoint2.distance; list.Add(damagePoint2); } data.points = list.ToArray(); data.CalcMaxRate(); return(true); }
public static bool cb(CSVReader csv_reader, GrowEquipItemNeedItemData data, ref uint key1, ref uint key2) { data.id = key1; data.lv = key2; List <NeedMaterial> list = new List <NeedMaterial>(); for (int i = 0; i < NEED_MATERIAL_LENGTH_MAX; i++) { uint value = 0u; int value2 = 0; CSVReader.PopResult popResult = csv_reader.Pop(ref value); CSVReader.PopResult popResult2 = csv_reader.Pop(ref value2); if (value != 0 && value2 != 0) { list.Add(new NeedMaterial(value, value2)); } } data.needMaterial = list.ToArray(); CSVReader.PopResult popResult3 = csv_reader.Pop(ref data.needMoney); return(true); }
public static bool cb(CSVReader csv_reader, AbilityData data, ref uint key1, ref uint key2) { data.id = key1; data.key2 = key2; csv_reader.Pop(ref data.needAP); csv_reader.PopEnum(ref data.enableEquipType, ENABLE_EQUIP_TYPE.ALL); csv_reader.Pop(ref data.name); csv_reader.Pop(ref data.description); data.m_info = new AbilityInfo[3]; for (int i = 0; i < 3; i++) { ABILITY_ENABLE_TYPE value = ABILITY_ENABLE_TYPE.NONE; data.m_info[i] = new AbilityInfo(); CSVReader.PopResult result = csv_reader.PopEnum(ref data.m_info[i].type, ABILITY_TYPE.NONE); CSVReader.PopResult result2; if ((CSVReader.PopResult.Result)result == CSVReader.PopResult.Result.DONT_DEFINE_ERROR || (CSVReader.PopResult.Result)result == CSVReader.PopResult.Result.UNKNOWN) { csv_reader.Pop(ref data.m_info[i].target); result2 = csv_reader.PopEnum(ref value, ABILITY_ENABLE_TYPE.NONE); csv_reader.Pop(ref data.m_info[i].value); data.m_info[i].type = ABILITY_TYPE.NEED_UPDATE; data.m_info[i].target = string.Empty; } else { csv_reader.Pop(ref data.m_info[i].target); result2 = csv_reader.PopEnum(ref value, ABILITY_ENABLE_TYPE.NONE); csv_reader.Pop(ref data.m_info[i].value); } if ((CSVReader.PopResult.Result)result2 != CSVReader.PopResult.Result.DONT_DEFINE_ERROR && (CSVReader.PopResult.Result)result2 != CSVReader.PopResult.Result.UNKNOWN && value != 0) { AbilityInfo.Enable enable = new AbilityInfo.Enable(); enable.type = value; data.m_info[i].enables.Add(enable); } value = ABILITY_ENABLE_TYPE.NONE; int value2 = 0; int value3 = 0; result2 = csv_reader.PopEnum(ref value, ABILITY_ENABLE_TYPE.NONE); csv_reader.Pop(ref value2); csv_reader.Pop(ref value3); if ((CSVReader.PopResult.Result)result2 != CSVReader.PopResult.Result.DONT_DEFINE_ERROR && (CSVReader.PopResult.Result)result2 != CSVReader.PopResult.Result.UNKNOWN && value != 0) { AbilityInfo.Enable enable2 = new AbilityInfo.Enable(); enable2.type = value; enable2.values[0] = value2; enable2.values[1] = value3; data.m_info[i].enables.Add(enable2); } } csv_reader.Pop(ref data.descriptionPreGrant); csv_reader.Pop(ref data.minNeedAP); if (data.enableEquipType != 0) { for (int j = 0; j < 3; j++) { if (data.m_info[j].type != 0 && data.m_info[j].type != ABILITY_TYPE.TIME_LIMIT) { AbilityInfo.Enable enable3 = new AbilityInfo.Enable(); enable3.type = Utility.GetAbilityEnableType(data.enableEquipType); enable3.values[0] = 0; enable3.values[1] = 0; data.m_info[j].enables.Add(enable3); } } } for (int k = 0; k < 3; k++) { if (Utility.IsConditionsAbilityType(data.m_info[k].type)) { ABILITY_TYPE type = data.m_info[k].type; for (int l = 0; l < 3; l++) { if (data.m_info[l].type != 0 && data.m_info[l].type != ABILITY_TYPE.TIME_LIMIT) { AbilityInfo.Enable enable4 = new AbilityInfo.Enable(); enable4.type = Utility.GetAbilityEnableType(type); enable4.values[0] = data.m_info[k].value; enable4.values[1] = 0; data.m_info[l].enables.Add(enable4); } } } } return(true); }