예제 #1
0
        private void UpdateItemList()
        {
            if (comboCharList.Items.Count == 0)
            {
                return;
            }

            dataGridItems.Rows.Clear();

            if (keepItemState != KeepItemsState.KEEP_NONE)
            {
                foreach (int selSlot in comboCharList.SelectedIndices)
                {
                    CharObject mChar = (CharObject)worldObjects.CharList[selSlot];
                    if (mChar != null)
                    {
                        ListItemsInCont(mChar);
                    }
                }
            }

            if (dataGridItems.Rows.Count == 0)
            {
                dataGridItems.Rows.Add("No items will be exported with this character.");
            }
        }
예제 #2
0
        private void ExportCharacters()
        {
            if (comboCharList.Items.Count > 0 && comboCharList.SelectedIndices.Count > 0)
            {
                folderBrowserDialog.Description = "Select the Location to Export your character(s) to.";
                if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
                {
                    progressBar.Value   = 0;
                    progressBar.Maximum = comboCharList.SelectedIndices.Count;
                    foreach (int mSelection in comboCharList.SelectedIndices)
                    {
                        CharObject mChar = (CharObject)worldObjects.CharList[mSelection];
                        if (mChar != null)
                        {
                            string fileName = mChar.Name + "_" + mChar.SerString + ".cef";
                            string filePath = folderBrowserDialog.SelectedPath + "\\" + fileName;

                            StreamWriter fileOut = File.CreateText(filePath);
                            mChar.Section.Save(fileOut);
                            if (keepItemState != KeepItemsState.KEEP_NONE)
                            {
                                SaveItemsInCont(mChar, fileOut);
                            }
                            fileOut.Close();
                            progressBar.PerformStep();
                        }
                    }
                }
            }
        }
예제 #3
0
 private void LoadWorldFile(UOXData.Script.WorldFile90 toAdd, bool doImport)
 {
     foreach (UOXData.Script.WorldSection mScript in toAdd.Sections)
     {
         if (mScript.SectionName == "CHARACTER")
         {
             uint charSerial = UOXData.Conversion.ToUInt32(mScript.FindTag("Serial"));
             if (charSerial > worldObjects.NextCharSer)
             {
                 worldObjects.NextCharSer = charSerial + 1;
             }
             CharObject mChar = new CharObject(charSerial);
             mChar.SerString = UOXData.Conversion.ToHexString(charSerial);
             mChar.Name      = mScript.FindTag("Name");
             mChar.ID        = UOXData.Conversion.ToUInt16(mScript.FindTag("ID"));
             mChar.Section   = mScript;
             if (doImport)
             {
                 worldObjects.ImportCharList.Add(mChar);
             }
             else
             {
                 worldObjects.CharList.Add(mChar);
             }
             ++totalChars;
         }
         else
         {
             uint contSerial = UOXData.Conversion.ToUInt32(mScript.FindTag("Cont"));
             uint itemSerial = UOXData.Conversion.ToUInt32(mScript.FindTag("Serial"));
             if (itemSerial >= worldObjects.NextItemSer)
             {
                 worldObjects.NextItemSer = itemSerial + 1;
             }
             if (contSerial != 0xFFFFFFFF)
             {
                 ItemObject mItem = new ItemObject(itemSerial);
                 mItem.Container = contSerial;
                 mItem.SerString = UOXData.Conversion.ToHexString(itemSerial);
                 mItem.Name      = mScript.FindTag("Name");
                 mItem.Section   = mScript;
                 mItem.ID        = UOXData.Conversion.ToUInt16(mScript.FindTag("ID"));
                 if (doImport)
                 {
                     worldObjects.ImportItemList.Add(mItem);
                 }
                 else
                 {
                     worldObjects.ItemList.Add(mItem);
                 }
             }
             ++totalItems;
         }
     }
 }