public void Assign(EnhancementSet.BonusItem iBi) { this.Special = iBi.Special; this.AltString = iBi.AltString; this.Name = new string[iBi.Name.Length]; this.Index = new int[iBi.Index.Length]; Array.Copy((Array)iBi.Name, (Array)this.Name, iBi.Name.Length); Array.Copy((Array)iBi.Index, (Array)this.Index, iBi.Index.Length); this.PvMode = iBi.PvMode; this.Slotted = iBi.Slotted; }
public void Assign(BonusItem iBi) { Special = iBi.Special; AltString = iBi.AltString; Name = new string[iBi.Name.Length]; Index = new int[iBi.Index.Length]; Array.Copy(iBi.Name, Name, iBi.Name.Length); Array.Copy(iBi.Index, Index, iBi.Index.Length); PvMode = iBi.PvMode; Slotted = iBi.Slotted; }
public void BuildEffects(Enums.ePvX pvMode) { for (int index1 = 0; index1 <= SetInfo.Length - 1; ++index1) { if (SetInfo[index1].SlottedCount > 1) { for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus.Length - 1; ++index2) { if (!(DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].Slotted <= SetInfo[index1].SlottedCount & (DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].PvMode == pvMode | DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].PvMode == Enums.ePvX.Any))) { continue; } for (int index3 = 0; index3 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].Index.Length - 1; ++index3) { Array.Resize(ref SetInfo[index1].Powers, SetInfo[index1].Powers.Length + 1); SetInfo[index1].Powers[SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Bonus[index2].Index[index3]; } } } if (SetInfo[index1].SlottedCount <= 0) { continue; } { for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Enhancements.Length - 1; ++index2) { if (DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length <= -1) { continue; } for (int index3 = 0; index3 <= SetInfo[index1].EnhIndexes.Length - 1; ++index3) { if (SetInfo[index1].EnhIndexes[index3] != DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].Enhancements[index2]) { continue; } for (int index4 = 0; index4 <= DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length - 1; ++index4) { Array.Resize(ref SetInfo[index1].Powers, SetInfo[index1].Powers.Length + 1); SetInfo[index1].Powers[SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[SetInfo[index1].SetIDX].SpecialBonus[index2].Index[index4]; } } } } } }
public void BuildEffects(Enums.ePvX pvMode) { for (int index1 = 0; index1 <= this.SetInfo.Length - 1; ++index1) { if (this.SetInfo[index1].SlottedCount > 1) { for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus.Length - 1; ++index2) { if (DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].Slotted <= this.SetInfo[index1].SlottedCount & (DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].PvMode == pvMode | DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].PvMode == Enums.ePvX.Any)) { for (int index3 = 0; index3 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].Index.Length - 1; ++index3) { Array.Resize <int>(ref this.SetInfo[index1].Powers, this.SetInfo[index1].Powers.Length + 1); this.SetInfo[index1].Powers[this.SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Bonus[index2].Index[index3]; } } } } if (this.SetInfo[index1].SlottedCount > 0) { for (int index2 = 0; index2 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Enhancements.Length - 1; ++index2) { if (DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length > -1) { for (int index3 = 0; index3 <= this.SetInfo[index1].EnhIndexes.Length - 1; ++index3) { if (this.SetInfo[index1].EnhIndexes[index3] == DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].Enhancements[index2]) { for (int index4 = 0; index4 <= DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].SpecialBonus[index2].Index.Length - 1; ++index4) { Array.Resize <int>(ref this.SetInfo[index1].Powers, this.SetInfo[index1].Powers.Length + 1); this.SetInfo[index1].Powers[this.SetInfo[index1].Powers.Length - 1] = DatabaseAPI.Database.EnhancementSets[this.SetInfo[index1].SetIDX].SpecialBonus[index2].Index[index4]; } } } } } } } }
bool ParseClasses(string iFileName) { int num1 = 0; StreamReader iStream; try { iStream = new StreamReader(iFileName); } catch (Exception ex) { ProjectData.SetProjectError(ex); int num2 = (int)Interaction.MsgBox(ex.Message, MsgBoxStyle.Critical, "Bonus CSV Not Opened"); bool flag = false; ProjectData.ClearProjectError(); return(flag); } int num3 = 0; int num4 = 0; int num5 = 0; int num6 = DatabaseAPI.Database.EnhancementSets.Count - 1; for (int index1 = 0; index1 <= num6; ++index1) { DatabaseAPI.Database.EnhancementSets[index1].Bonus = new EnhancementSet.BonusItem[0]; DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus = new EnhancementSet.BonusItem[6]; int num2 = DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus.Length - 1; for (int index2 = 0; index2 <= num2; ++index2) { DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2] = new EnhancementSet.BonusItem(); DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].Name = new string[0]; DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].Index = new int[0]; DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].AltString = ""; DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus[index2].Special = -1; } } try { string iLine; do { iLine = FileIO.ReadLineUnlimited(iStream, char.MinValue); if (iLine != null && !iLine.StartsWith("#")) { ++num5; if (num5 >= 9) { this.BusyMsg(Strings.Format(num3, "###,##0") + " records parsed."); num5 = 0; } string[] array = CSV.ToArray(iLine); int index1 = DatabaseAPI.NidFromUidioSet(array[0]); if (index1 > -1) { int integer = Conversions.ToInteger(array[1]); string[] strArray1 = array[3].Split(" ".ToCharArray()); Enums.ePvX ePvX = Enums.ePvX.Any; if (array[2].Contains("isPVPMap?")) { ePvX = Enums.ePvX.PvP; array[2] = array[2].Replace("isPVPMap?", "").Replace(" ", " "); } string[] strArray2 = array[2].Split(" ".ToCharArray()); if (array[2] == "") { DatabaseAPI.Database.EnhancementSets[index1].Bonus = (EnhancementSet.BonusItem[])Utils.CopyArray(DatabaseAPI.Database.EnhancementSets[index1].Bonus, (Array) new EnhancementSet.BonusItem[DatabaseAPI.Database.EnhancementSets[index1].Bonus.Length + 1]); DatabaseAPI.Database.EnhancementSets[index1].Bonus[DatabaseAPI.Database.EnhancementSets[index1].Bonus.Length - 1] = new EnhancementSet.BonusItem(); EnhancementSet.BonusItem[] bonus = DatabaseAPI.Database.EnhancementSets[index1].Bonus; int index2 = DatabaseAPI.Database.EnhancementSets[index1].Bonus.Length - 1; bonus[index2].AltString = ""; bonus[index2].Name = new string[strArray1.Length - 1 + 1]; bonus[index2].Index = new int[strArray1.Length - 1 + 1]; int num2 = bonus[index2].Name.Length - 1; for (int index3 = 0; index3 <= num2; ++index3) { bonus[index2].Name[index3] = strArray1[index3]; bonus[index2].Index[index3] = DatabaseAPI.NidFromUidPower(strArray1[index3]); } bonus[index2].Special = -1; bonus[index2].PvMode = ePvX; bonus[index2].Slotted = integer; } else { int num2 = -1; int num7 = strArray2.Length - 1; for (int index2 = 0; index2 <= num7; ++index2) { int num8 = DatabaseAPI.NidFromUidEnh(strArray2[index2]); if (num8 > -1) { int num9 = DatabaseAPI.Database.EnhancementSets[index1].Enhancements.Length - 1; for (int index3 = 0; index3 <= num9; ++index3) { if (DatabaseAPI.Database.EnhancementSets[index1].Enhancements[index3] == num8) { num2 = index3; break; } } break; } } if (num2 > -1) { EnhancementSet.BonusItem[] specialBonus = DatabaseAPI.Database.EnhancementSets[index1].SpecialBonus; int index2 = num2; specialBonus[index2].AltString = ""; specialBonus[index2].Name = new string[strArray1.Length - 1 + 1]; specialBonus[index2].Index = new int[strArray1.Length - 1 + 1]; int num8 = specialBonus[index2].Name.Length - 1; for (int index3 = 0; index3 <= num8; ++index3) { specialBonus[index2].Name[index3] = strArray1[index3]; specialBonus[index2].Index[index3] = DatabaseAPI.NidFromUidPower(strArray1[index3]); } specialBonus[index2].Special = num2; specialBonus[index2].PvMode = ePvX; specialBonus[index2].Slotted = integer; } } ++num1; } else { ++num4; } ++num3; } }while (iLine != null); } catch (Exception ex) { ProjectData.SetProjectError(ex); Exception exception = ex; iStream.Close(); int num2 = (int)Interaction.MsgBox(exception.Message, MsgBoxStyle.Critical, "Power Class CSV Parse Error"); bool flag = false; ProjectData.ClearProjectError(); return(flag); } iStream.Close(); var serializer = My.MyApplication.GetSerializer(); DatabaseAPI.SaveEnhancementDb(serializer); this.DisplayInfo(); int num10 = (int)Interaction.MsgBox(("Parse Completed!\r\nTotal Records: " + Conversions.ToString(num3) + "\r\nGood: " + Conversions.ToString(num1) + "\r\nRejected: " + Conversions.ToString(num4)), MsgBoxStyle.Information, "File Parsed"); return(true); }
bool ParseClasses(string iFileName) { int num = 0; StreamReader iStream; try { iStream = new StreamReader(iFileName); } catch (Exception ex) { Exception ex3 = ex; Interaction.MsgBox(ex3.Message, MsgBoxStyle.Critical, "Bonus CSV Not Opened"); return(false); } int num2 = 0; int num3 = 0; int num4 = 0; int num5 = DatabaseAPI.Database.EnhancementSets.Count - 1; for (int index3 = 0; index3 <= num5; index3++) { DatabaseAPI.Database.EnhancementSets[index3].Bonus = new EnhancementSet.BonusItem[0]; DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus = new EnhancementSet.BonusItem[6]; int num6 = DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus.Length - 1; for (int index4 = 0; index4 <= num6; index4++) { DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4] = default(EnhancementSet.BonusItem); DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].Name = new string[0]; DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].Index = new int[0]; DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].AltString = ""; DatabaseAPI.Database.EnhancementSets[index3].SpecialBonus[index4].Special = -1; } } try { string iLine; do { iLine = FileIO.ReadLineUnlimited(iStream, '\0'); if (iLine != null && !iLine.StartsWith("#")) { num4++; if (num4 >= 9) { this.BusyMsg(Strings.Format(num2, "###,##0") + " records parsed."); num4 = 0; } string[] array = CSV.ToArray(iLine); int index5 = DatabaseAPI.NidFromUidioSet(array[0]); if (index5 > -1) { int integer = Conversions.ToInteger(array[1]); string[] strArray = array[3].Split(" ".ToCharArray()); Enums.ePvX ePvX = Enums.ePvX.Any; if (array[2].Contains("isPVPMap?")) { ePvX = Enums.ePvX.PvP; array[2] = array[2].Replace("isPVPMap?", "").Replace(" ", " "); } string[] strArray2 = array[2].Split(" ".ToCharArray()); if (array[2] == "") { DatabaseAPI.Database.EnhancementSets[index5].Bonus = (EnhancementSet.BonusItem[])Utils.CopyArray(DatabaseAPI.Database.EnhancementSets[index5].Bonus, new EnhancementSet.BonusItem[DatabaseAPI.Database.EnhancementSets[index5].Bonus.Length + 1]); DatabaseAPI.Database.EnhancementSets[index5].Bonus[DatabaseAPI.Database.EnhancementSets[index5].Bonus.Length - 1] = default(EnhancementSet.BonusItem); EnhancementSet.BonusItem[] bonus = DatabaseAPI.Database.EnhancementSets[index5].Bonus; int index6 = DatabaseAPI.Database.EnhancementSets[index5].Bonus.Length - 1; bonus[index6].AltString = ""; bonus[index6].Name = new string[strArray.Length - 1 + 1]; bonus[index6].Index = new int[strArray.Length - 1 + 1]; int num7 = bonus[index6].Name.Length - 1; for (int index3 = 0; index3 <= num7; index3++) { bonus[index6].Name[index3] = strArray[index3]; bonus[index6].Index[index3] = DatabaseAPI.NidFromUidPower(strArray[index3]); } bonus[index6].Special = -1; bonus[index6].PvMode = ePvX; bonus[index6].Slotted = integer; } else { int num8 = -1; int num9 = strArray2.Length - 1; for (int index3 = 0; index3 <= num9; index3++) { int num10 = DatabaseAPI.NidFromUidEnh(strArray2[index3]); if (num10 > -1) { int num11 = DatabaseAPI.Database.EnhancementSets[index5].Enhancements.Length - 1; for (int index7 = 0; index7 <= num11; index7++) { if (DatabaseAPI.Database.EnhancementSets[index5].Enhancements[index7] == num10) { num8 = index7; break; } } break; } } if (num8 > -1) { EnhancementSet.BonusItem[] specialBonus = DatabaseAPI.Database.EnhancementSets[index5].SpecialBonus; int index8 = num8; specialBonus[index8].AltString = ""; specialBonus[index8].Name = new string[strArray.Length - 1 + 1]; specialBonus[index8].Index = new int[strArray.Length - 1 + 1]; int num12 = specialBonus[index8].Name.Length - 1; for (int index3 = 0; index3 <= num12; index3++) { specialBonus[index8].Name[index3] = strArray[index3]; specialBonus[index8].Index[index3] = DatabaseAPI.NidFromUidPower(strArray[index3]); } specialBonus[index8].Special = num8; specialBonus[index8].PvMode = ePvX; specialBonus[index8].Slotted = integer; } } num++; } else { num3++; } num2++; } }while (iLine != null); } catch (Exception ex2) { Exception exception = ex2; iStream.Close(); Interaction.MsgBox(exception.Message, MsgBoxStyle.Critical, "Power Class CSV Parse Error"); return(false); } iStream.Close(); DatabaseAPI.SaveEnhancementDb(); this.DisplayInfo(); Interaction.MsgBox(string.Concat(new string[] { "Parse Completed!\r\nTotal Records: ", Conversions.ToString(num2), "\r\nGood: ", Conversions.ToString(num), "\r\nRejected: ", Conversions.ToString(num3) }), MsgBoxStyle.Information, "File Parsed"); return(true); }