예제 #1
0
    public bool ImportFromCSV(string iCSV)
    {
        bool flag;

        if (iCSV == null)
        {
            flag = false;
        }
        else if (string.IsNullOrEmpty(iCSV))
        {
            flag = false;
        }
        else
        {
            string[] array = CSV.ToArray(iCSV);
            this.DisplayName = array[1];
            this.ShortName   = EnhancementSet.GenerateShortName(this.DisplayName);
            this.Uid         = array[0];
            this.LevelMin    = int.Parse(array[3]) - 1;
            this.LevelMax    = int.Parse(array[4]) - 1;
            string str = array[2];
            for (int index = 0; index < DatabaseAPI.Database.SetTypeStringLong.Length; ++index)
            {
                if (str == DatabaseAPI.Database.SetTypeStringLong[index])
                {
                    this.SetType = (Enums.eSetType)index;
                }
            }
            flag = true;
        }
        return(flag);
    }
예제 #2
0
        public bool ImportFromCSV(string iCSV)
        {
            bool flag;

            if (iCSV == null)
            {
                flag = false;
            }
            else if (string.IsNullOrEmpty(iCSV))
            {
                flag = false;
            }
            else
            {
                var array = CSV.ToArray(iCSV);
                DisplayName = array[1];
                ShortName   = GenerateShortName(DisplayName);
                Uid         = array[0];
                LevelMin    = int.Parse(array[3]) - 1;
                LevelMax    = int.Parse(array[4]) - 1;
                var str = array[2];
                for (var index = 0; index < DatabaseAPI.Database.SetTypeStringLong.Length; ++index)
                {
                    if (str == DatabaseAPI.Database.SetTypeStringLong[index])
                    {
                        SetType = (Enums.eSetType)index;
                    }
                }
                flag = true;
            }

            return(flag);
        }
예제 #3
0
 public void FillComboBoxes()
 {
     Enums.eSetType eSetType = Enums.eSetType.Untyped;
     string[]       names    = Enum.GetNames(eSetType.GetType());
     this.cbSetType.BeginUpdate();
     this.cbSetType.Items.Clear();
     this.cbSetType.Items.AddRange(names);
     this.cbSetType.EndUpdate();
 }
예제 #4
0
 public EnhancementSet()
 {
     this.DisplayName  = string.Empty;
     this.ShortName    = string.Empty;
     this.Desc         = string.Empty;
     this.SetType      = Enums.eSetType.Untyped;
     this.Enhancements = new int[0];
     this.Image        = string.Empty;
     this.InitBonus();
     this.LevelMin = 0;
     this.LevelMax = 52;
 }
예제 #5
0
 public EnhancementSet()
 {
     DisplayName  = string.Empty;
     ShortName    = string.Empty;
     Desc         = string.Empty;
     SetType      = Enums.eSetType.Untyped;
     Enhancements = new int[0];
     Image        = string.Empty;
     InitBonus();
     InitBonusPvP();
     LevelMin = 0;
     LevelMax = 52;
 }
예제 #6
0
        public EnhancementSet(BinaryReader reader)
        {
            DisplayName  = reader.ReadString();
            ShortName    = reader.ReadString();
            Uid          = reader.ReadString();
            Desc         = reader.ReadString();
            SetType      = (Enums.eSetType)reader.ReadInt32();
            Image        = reader.ReadString();
            LevelMin     = reader.ReadInt32();
            LevelMax     = reader.ReadInt32();
            Enhancements = new int[reader.ReadInt32() + 1];
            for (var index = 0; index <= Enhancements.Length - 1; ++index)
            {
                Enhancements[index] = reader.ReadInt32();
            }
            InitBonus();
            InitBonusPvP();
            Bonus = new BonusItem[reader.ReadInt32() + 1];
            for (var index1 = 0; index1 < Bonus.Length; ++index1)
            {
                Bonus[index1].Special   = reader.ReadInt32();
                Bonus[index1].AltString = reader.ReadString();
                Bonus[index1].PvMode    = (Enums.ePvX)reader.ReadInt32();
                Bonus[index1].Slotted   = reader.ReadInt32();
                Bonus[index1].Name      = new string[reader.ReadInt32() + 1];
                Bonus[index1].Index     = new int[Bonus[index1].Name.Length];
                for (var index2 = 0; index2 < Bonus[index1].Name.Length; ++index2)
                {
                    Bonus[index1].Name[index2]  = reader.ReadString();
                    Bonus[index1].Index[index2] = reader.ReadInt32();
                }
            }

            SpecialBonus = new BonusItem[reader.ReadInt32() + 1];
            for (var index1 = 0; index1 < SpecialBonus.Length; ++index1)
            {
                SpecialBonus[index1].Special   = reader.ReadInt32();
                SpecialBonus[index1].AltString = reader.ReadString();
                SpecialBonus[index1].Name      = new string[reader.ReadInt32() + 1];
                SpecialBonus[index1].Index     = new int[SpecialBonus[index1].Name.Length];
                for (var index2 = 0; index2 < SpecialBonus[index1].Name.Length; ++index2)
                {
                    SpecialBonus[index1].Name[index2]  = reader.ReadString();
                    SpecialBonus[index1].Index[index2] = reader.ReadInt32();
                }
            }
        }
예제 #7
0
 public EnhancementSet(BinaryReader reader)
 {
     this.DisplayName  = reader.ReadString();
     this.ShortName    = reader.ReadString();
     this.Uid          = reader.ReadString();
     this.Desc         = reader.ReadString();
     this.SetType      = (Enums.eSetType)reader.ReadInt32();
     this.Image        = reader.ReadString();
     this.LevelMin     = reader.ReadInt32();
     this.LevelMax     = reader.ReadInt32();
     this.Enhancements = new int[reader.ReadInt32() + 1];
     for (int index = 0; index <= this.Enhancements.Length - 1; ++index)
     {
         this.Enhancements[index] = reader.ReadInt32();
     }
     this.InitBonus();
     this.Bonus = new EnhancementSet.BonusItem[reader.ReadInt32() + 1];
     for (int index1 = 0; index1 < this.Bonus.Length; ++index1)
     {
         this.Bonus[index1].Special   = reader.ReadInt32();
         this.Bonus[index1].AltString = reader.ReadString();
         this.Bonus[index1].PvMode    = (Enums.ePvX)reader.ReadInt32();
         this.Bonus[index1].Slotted   = reader.ReadInt32();
         this.Bonus[index1].Name      = new string[reader.ReadInt32() + 1];
         this.Bonus[index1].Index     = new int[this.Bonus[index1].Name.Length];
         for (int index2 = 0; index2 < this.Bonus[index1].Name.Length; ++index2)
         {
             this.Bonus[index1].Name[index2]  = reader.ReadString();
             this.Bonus[index1].Index[index2] = reader.ReadInt32();
         }
     }
     this.SpecialBonus = new EnhancementSet.BonusItem[reader.ReadInt32() + 1];
     for (int index1 = 0; index1 < this.SpecialBonus.Length; ++index1)
     {
         this.SpecialBonus[index1].Special   = reader.ReadInt32();
         this.SpecialBonus[index1].AltString = reader.ReadString();
         this.SpecialBonus[index1].Name      = new string[reader.ReadInt32() + 1];
         this.SpecialBonus[index1].Index     = new int[this.SpecialBonus[index1].Name.Length];
         for (int index2 = 0; index2 < this.SpecialBonus[index1].Name.Length; ++index2)
         {
             this.SpecialBonus[index1].Name[index2]  = reader.ReadString();
             this.SpecialBonus[index1].Index[index2] = reader.ReadInt32();
         }
     }
 }
 protected void AddSetType(int nIDPower, Enums.eSetType nSetType)
 {
     if (nIDPower > -1 & nIDPower < DatabaseAPI.Database.Power.Length)
     {
         int num = DatabaseAPI.Database.Power[nIDPower].SetTypes.Length - 1;
         for (int index = 0; index <= num; index++)
         {
             if (DatabaseAPI.Database.Power[nIDPower].SetTypes[index] == nSetType)
             {
                 return;
             }
         }
         IPower[]         power         = DatabaseAPI.Database.Power;
         Enums.eSetType[] eSetTypeArray = (Enums.eSetType[])Utils.CopyArray(power[nIDPower].SetTypes, new Enums.eSetType[DatabaseAPI.Database.Power[nIDPower].SetTypes.Length + 1]);
         power[nIDPower].SetTypes = eSetTypeArray;
         DatabaseAPI.Database.Power[nIDPower].SetTypes[DatabaseAPI.Database.Power[nIDPower].SetTypes.Length - 1] = nSetType;
         Array.Sort <Enums.eSetType>(DatabaseAPI.Database.Power[nIDPower].SetTypes);
     }
 }
예제 #9
0
 public EnhancementSet(EnhancementSet iIOSet)
 {
     this.DisplayName  = iIOSet.DisplayName;
     this.ShortName    = iIOSet.ShortName;
     this.Desc         = iIOSet.Desc;
     this.SetType      = iIOSet.SetType;
     this.Image        = iIOSet.Image;
     this.LevelMin     = iIOSet.LevelMin;
     this.LevelMax     = iIOSet.LevelMax;
     this.Enhancements = (int[])iIOSet.Enhancements.Clone();
     this.Bonus        = new EnhancementSet.BonusItem[iIOSet.Bonus.Length];
     for (int index = 0; index <= this.Bonus.Length - 1; ++index)
     {
         this.Bonus[index].Assign(iIOSet.Bonus[index]);
     }
     this.SpecialBonus = new EnhancementSet.BonusItem[iIOSet.SpecialBonus.Length];
     for (int index = 0; index <= this.SpecialBonus.Length - 1; ++index)
     {
         this.SpecialBonus[index].Assign(iIOSet.SpecialBonus[index]);
     }
     this.Uid = iIOSet.Uid;
 }
예제 #10
0
 public EnhancementSet(EnhancementSet iIOSet)
 {
     DisplayName  = iIOSet.DisplayName;
     ShortName    = iIOSet.ShortName;
     Desc         = iIOSet.Desc;
     SetType      = iIOSet.SetType;
     Image        = iIOSet.Image;
     LevelMin     = iIOSet.LevelMin;
     LevelMax     = iIOSet.LevelMax;
     Enhancements = (int[])iIOSet.Enhancements.Clone();
     Bonus        = new BonusItem[iIOSet.Bonus.Length];
     for (int index = 0; index <= Bonus.Length - 1; ++index)
     {
         Bonus[index].Assign(iIOSet.Bonus[index]);
     }
     SpecialBonus = new BonusItem[iIOSet.SpecialBonus.Length];
     for (int index = 0; index <= SpecialBonus.Length - 1; ++index)
     {
         SpecialBonus[index].Assign(iIOSet.SpecialBonus[index]);
     }
     Uid = iIOSet.Uid;
 }
예제 #11
0
        private void AddSetType(int nIDPower, Enums.eSetType nSetType)
        {
            if (!((nIDPower > -1) & (nIDPower < DatabaseAPI.Database.Power.Length)))
            {
                return;
            }
            var num = DatabaseAPI.Database.Power[nIDPower].SetTypes.Length - 1;

            for (var index = 0; index <= num; ++index)
            {
                if (DatabaseAPI.Database.Power[nIDPower].SetTypes[index] == nSetType)
                {
                    return;
                }
            }
            var power         = DatabaseAPI.Database.Power;
            var eSetTypeArray = (Enums.eSetType[])Utils.CopyArray(power[nIDPower].SetTypes,
                                                                  new Enums.eSetType[DatabaseAPI.Database.Power[nIDPower].SetTypes.Length + 1]);

            power[nIDPower].SetTypes = eSetTypeArray;
            DatabaseAPI.Database.Power[nIDPower].SetTypes[DatabaseAPI.Database.Power[nIDPower].SetTypes.Length - 1] =
                nSetType;
            Array.Sort(DatabaseAPI.Database.Power[nIDPower].SetTypes);
        }
예제 #12
0
        bool ParseClasses(string iFileName)

        {
            int num1 = 0;

            Enums.eSetType eSetType = Enums.eSetType.Untyped;
            StreamReader   iStream;

            try
            {
                iStream = new StreamReader(iFileName);
            }
            catch (Exception ex)
            {
                ProjectData.SetProjectError(ex);
                int  num2 = (int)Interaction.MsgBox(ex.Message, MsgBoxStyle.Critical, "IO CSV Not Opened");
                bool flag = false;
                ProjectData.ClearProjectError();
                return(flag);
            }
            int num3 = 0;
            int num4 = 0;
            int num5 = 0;

            bool[] flagArray = new bool[Enum.GetValues(eSetType.GetType()).Length - 1 + 1];
            int    index1    = -1;
            int    num6      = DatabaseAPI.Database.Power.Length - 1;

            for (int index2 = 0; index2 <= num6; ++index2)
            {
                DatabaseAPI.Database.Power[index2].SetTypes = new Enums.eSetType[0];
            }
            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);
                        if (array.Length > 1)
                        {
                            int num2 = DatabaseAPI.NidFromUidioSet(array[0]);
                            if (num2 != index1 & index1 > -1)
                            {
                                flagArray[(int)DatabaseAPI.Database.EnhancementSets[index1].SetType] = true;
                            }
                            index1 = num2;
                            if (index1 > -1 && !flagArray[(int)DatabaseAPI.Database.EnhancementSets[index1].SetType])
                            {
                                int nIDPower = DatabaseAPI.NidFromUidPower(array[1]);
                                if (nIDPower > -1)
                                {
                                    this.AddSetType(nIDPower, DatabaseAPI.Database.EnhancementSets[index1].SetType);
                                }
                            }
                            ++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, "IO CSV Parse Error");
                bool flag = false;
                ProjectData.ClearProjectError();
                return(flag);
            }
            iStream.Close();
            DatabaseAPI.Database.IOAssignmentVersion.SourceFile   = this.dlgBrowse.FileName;
            DatabaseAPI.Database.IOAssignmentVersion.RevisionDate = DateTime.Now;
            DatabaseAPI.Database.IOAssignmentVersion.Revision     = Convert.ToInt32(this.udRevision.Value);
            var serializer = My.MyApplication.GetSerializer();

            DatabaseAPI.SaveMainDatabase(serializer);
            this.DisplayInfo();
            int num7 = (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;

            Enums.eSetType eSetType = Enums.eSetType.Untyped;
            StreamReader   iStream;

            try
            {
                iStream = new StreamReader(iFileName);
            }
            catch (Exception ex)
            {
                Exception ex3 = ex;
                Interaction.MsgBox(ex3.Message, MsgBoxStyle.Critical, "IO CSV Not Opened");
                return(false);
            }
            int num2 = 0;
            int num3 = 0;
            int num4 = 0;

            bool[] flagArray = new bool[Enum.GetValues(eSetType.GetType()).Length - 1 + 1];
            int    index     = -1;
            int    num5      = DatabaseAPI.Database.Power.Length - 1;

            for (int index2 = 0; index2 <= num5; index2++)
            {
                DatabaseAPI.Database.Power[index2].SetTypes = new Enums.eSetType[0];
            }
            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);
                        if (array.Length > 1)
                        {
                            int num6 = DatabaseAPI.NidFromUidioSet(array[0]);
                            if (num6 != index & index > -1)
                            {
                                flagArray[(int)DatabaseAPI.Database.EnhancementSets[index].SetType] = true;
                            }
                            index = num6;
                            if (index > -1 && !flagArray[(int)DatabaseAPI.Database.EnhancementSets[index].SetType])
                            {
                                int nIDPower = DatabaseAPI.NidFromUidPower(array[1]);
                                if (nIDPower > -1)
                                {
                                    this.AddSetType(nIDPower, DatabaseAPI.Database.EnhancementSets[index].SetType);
                                }
                            }
                            num++;
                        }
                        else
                        {
                            num3++;
                        }
                        num2++;
                    }
                }while (iLine != null);
            }
            catch (Exception ex2)
            {
                Exception exception = ex2;
                iStream.Close();
                Interaction.MsgBox(exception.Message, MsgBoxStyle.Critical, "IO CSV Parse Error");
                return(false);
            }
            iStream.Close();
            DatabaseAPI.Database.IOAssignmentVersion.SourceFile   = this.dlgBrowse.FileName;
            DatabaseAPI.Database.IOAssignmentVersion.RevisionDate = DateTime.Now;
            DatabaseAPI.Database.IOAssignmentVersion.Revision     = Convert.ToInt32(this.udRevision.Value);
            DatabaseAPI.SaveMainDatabase();
            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);
        }