Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pack"></param>
        /// <param name="fighter"></param>
        /// <param name="editor"></param>
        /// <returns></returns>
        private void ImportItemData(ZipFile pack, MEXFighterEntry fighter)
        {
            Console.WriteLine($"Importing Item Data...");

            var itemEntries = pack.Where(e => Regex.IsMatch(e.FileName, @"Item/item\d\d.*.yaml"));

            HSD_UShort[] itemIndices = new HSD_UShort[0];
            foreach (var item in itemEntries)
            {
                int val;
                if (int.TryParse(Regex.Match(item.FileName, @"(?<=item)\d\d").Value, out val))
                {
                    using (MemoryStream s = new MemoryStream(GetBytes(item)))
                        using (StreamReader r = new StreamReader(s))
                        {
                            // add item entry to mex items
                            var id = editor.ItemControl.AddMEXItem(r.ReadToEnd());

                            // add it to itemIndices
                            Array.Resize(ref itemIndices, val + 1);
                            itemIndices[val] = new HSD_UShort()
                            {
                                Value = (ushort)id
                            };
                        }
                }
            }
            fighter.MEXItems = itemIndices.ToArray();
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void importStageButton_Click(object sender, EventArgs e)
        {
            var f = FileIO.OpenFile("YAML (*.yaml)|*.yaml");

            if (f != null)
            {
                var package = StagePackage.DeserializeFile(f);

                var stage = package.Stage;

                // load items
                if (package.Items != null)
                {
                    var newItems = new HSD_UShort[package.Items.Count];
                    for (int i = 0; i < package.Items.Count; i++)
                    {
                        var item = (ushort)Editor.ItemControl.AddMEXItem(package.Items[i]);
                        newItems[i] = new HSD_UShort()
                        {
                            Value = item
                        };
                    }
                    stage.ItemLookup.Entries = newItems;
                }

                // insert new stage
                stageEditor.AddItem(stage);
            }
        }