Пример #1
0
        /// <summary>
        /// Process raw character bytes from save file
        /// </summary>
        /// <param name="rawCharacterbytes">Raw data from save file</param>
        private void ProcessCharacter(byte[] rawCharacterbytes)
        {
            ClearPlayerData();

            CharacterEditor.Resources.Instance.ResourceSet = (string)comboBoxResourceSets.SelectedItem;
            playerData = new SaveReader(comboBoxResourceSets.SelectedItem.ToString());

            try
            {
                playerData.Read(rawCharacterbytes);
            }
            catch (Exception ex)
            {
                new ErrorWindow("Unable to read character, most likely wrong version: " + ex.Message, true);
                return;
            }

            string errorString = "";

            if (playerData.FailedCharacterDecoding)
            {
                errorString += "Failed character decoding\n";
            }
            if (playerData.FailedInventoryDecoding)
            {
                errorString += "Failed inventory decoding";
            }
            if (playerData.FailedSkillDecoding)
            {
                errorString += "Failed skill decoding";
            }

            if (errorString.Length > 0)
            {
                ErrorWindow errorWindow = new ErrorWindow(errorString, true);
            }

            if (playerData.Inventory.FailedItemCount > 0)
            {
                new ErrorWindow(string.Format("Failed to read {0} items. These items will not be included when saving character", playerData.Inventory.FailedItemCount));
            }

            RefreshCharacter();
            RefreshInventory();
        }
Пример #2
0
        /// <summary>
        /// Process raw character bytes from save file
        /// </summary>
        /// <param name="rawCharacterbytes">Raw data from save file</param>
        private void ProcessCharacter(byte[] rawCharacterbytes)
        {
            ClearPlayerData();

            CharacterEditor.Resources.Instance.ResourceSet = (string)comboBoxResourceSets.SelectedItem;
            playerData = new SaveReader(comboBoxResourceSets.SelectedItem.ToString());

            try
            {
                playerData.Read(rawCharacterbytes);
            }
            catch (Exception ex)
            {
                new ErrorWindow("Unable to read character, most likely wrong version: " + ex.Message, true);
                return;
            }

            string errorString = "";

            if (playerData.FailedCharacterDecoding)
            {
                errorString += "Failed character decoding\n";
            }
            if (playerData.FailedInventoryDecoding)
            {
                errorString += "Failed inventory decoding";
            }
            if (playerData.FailedSkillDecoding)
            {
                errorString += "Failed skill decoding";
            }

            if (errorString.Length > 0)
            {
                ErrorWindow errorWindow = new ErrorWindow(errorString, true);
            }

            if (playerData.Inventory.FailedItemCount > 0)
            {
                new ErrorWindow(string.Format("Failed to read {0} items. These items will not be included when saving character", playerData.Inventory.FailedItemCount));
            }

            RefreshCharacter();
            RefreshInventory();
        }