コード例 #1
0
        public override void Save(Serializer serializer, BlastFurnaceBlock block, DictionaryAccess data)
        {
            base.Save(serializer, block, data);

            // TODO: Save blueprint state
            data.Set("inventory", serializer.MapInventory(block.Inventory));
        }
コード例 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtKey.Text))
            {
                MessageBox.Show("Key is required.");
                return;
            }

            if (CURRENT_VIEW_ID != 0)
            {
                Dictionary dict = new Dictionary();
                dict.ID               = CURRENT_VIEW_ID;
                dict.KEY              = txtKey.Text;
                dict.KEY_ALT          = MegaDict.Utility.App.ConvertToAscii(dict.KEY);
                dict.CONTENT          = txtView.Text;
                dict.CONTENT_ALT      = MegaDict.Utility.App.ConvertToAscii(dict.CONTENT);
                dict.ATTACH_FILE_PATH = CopyFileToData(txtFilePath.Text);

                if (DictionaryAccess.Update(dict))
                {
                    //copy file to data folder
                    if (!string.IsNullOrEmpty(txtFilePath.Text))
                    {
                        AllowModify(false);
                    }
                }

                else
                {
                    MessageBox.Show("Insert error.");
                }
            }
            else
            {
                DlgCategorySelector dlg = new DlgCategorySelector();
                if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    Dictionary dict = new Dictionary();
                    dict.CATEGORY_ID      = dlg.CategoryID;
                    dict.KEY              = txtKey.Text;
                    dict.KEY_ALT          = MegaDict.Utility.App.ConvertToAscii(dict.KEY);
                    dict.CONTENT          = txtView.Text;
                    dict.CONTENT_ALT      = MegaDict.Utility.App.ConvertToAscii(dict.CONTENT);
                    dict.ATTACH_FILE_PATH = CopyFileToData(txtFilePath.Text);
                    if (DictionaryAccess.Insert(dict))
                    {
                        MessageBox.Show("Save succeed.");
                        //txtView.Text = txtKey.Text = string.Empty;
                        //AllowModify(true);
                        //CURRENT_VIEW_ID = 0;
                    }
                    else
                    {
                        MessageBox.Show("Insert error.");
                    }
                }
            }
            AllowModify(false);
        }
コード例 #3
0
        private void btnSearch_Click(object sender, EventArgs e)
        {
            var data = DictionaryAccess.Search(MegaDict.Utility.App.ConvertToAscii(txtSearchKey.Text), cmbCategory.SelectedValue.ToString());

            lsbResult.DataSource = data;
            if (data.Rows.Count > 0)
            {
                groupBox1.Text = string.Format("Search result (total: {0})", data.Rows.Count);
            }
        }
コード例 #4
0
        public override IEntity Load(LoadContext context, DictionaryAccess data)
        {
            var player = Instantiate(context.BlockTypes);

            if (data.TryGetClassNotNull("inventory", out InventoryData inventoryData))
            {
                context.Deserializer.MapInventory(player.Inventory, inventoryData);
            }

            return(player);
        }
コード例 #5
0
        public override Block Load(Deserializer deserializer, DictionaryAccess data)
        {
            var block = new BlastFurnaceBlock(this);

            // TODO: Load blueprint state
            block.BlueprintState.FinishImmediately();

            if (data.TryGetClass("inventory", out InventoryData inventoryData))
            {
                deserializer.MapInventory(block.Inventory, inventoryData);
            }

            return(block);
        }
コード例 #6
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            DlgCategorySelector dlg = new DlgCategorySelector();

            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                Cursor            = Cursors.WaitCursor;
                btnImport.Enabled = false;
                Dictionary dict = new Dictionary();
                dict.CATEGORY_ID = dlg.CategoryID;

                foreach (string item in lsbResult.Items)
                {
                    string[] data = item.Split(new string[] { "~~" }, StringSplitOptions.RemoveEmptyEntries);
                    if (data.Length == 2)
                    {
                        string key         = data[0];
                        string key_alt     = MegaDict.Utility.App.ConvertToAscii(key);
                        string content     = data[1];
                        string content_alt = MegaDict.Utility.App.ConvertToAscii(content);

                        dict.KEY         = key;
                        dict.KEY_ALT     = key_alt;
                        dict.CONTENT     = content.Replace("`", "\r\n");
                        dict.CONTENT_ALT = content_alt;
                        if (DictionaryAccess.Insert(dict))
                        {
                            Console.WriteLine(string.Format("Đã thêm: {0}", key));
                        }
                        else
                        {
                            Console.WriteLine(string.Format("Thêm: {0} thất bại.", key));
                        }
                    }
                }

                Cursor = Cursors.Default;
                MessageBox.Show("Đã thêm hoàn tất.");
                btnImport.Enabled = true;
            }
        }
コード例 #7
0
        private void lsbResult_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListBox listBox = sender as ListBox;

            if (listBox.SelectedValue != null)
            {
                DataTable dt = (listBox.DataSource as DataTable);
                txtKey.Text      = dt.Rows[listBox.SelectedIndex]["KEY"].ToString();
                txtView.Text     = dt.Rows[listBox.SelectedIndex]["CONTENT"].ToString();
                CURRENT_VIEW_ID  = int.Parse(listBox.SelectedValue.ToString());
                txtFilePath.Text = dt.Rows[listBox.SelectedIndex]["ATTACH_FILE_PATH"].ToString();
                AllowModify(false);

                //update view
                DictionaryAccess.UpdateView(CURRENT_VIEW_ID);


                lsbLatedViews.DataSource = DictionaryAccess.GetLastedViews();
                lsbMostViews.DataSource  = DictionaryAccess.GetMostViews();
            }
        }
コード例 #8
0
 public DictionaryManager(DictionaryAccess dictionaryAccess)
 {
     _dictionaryAccess = dictionaryAccess;
 }
コード例 #9
0
 public override void Save(Serializer serializer, StandardBlock block, DictionaryAccess data)
 {
     base.Save(serializer, block, data);
     data.Set("integrity", block.Integrity);
 }
コード例 #10
0
 public override Block Load(Deserializer deserializer, DictionaryAccess data)
 {
     return(new GrassBlock(this));
 }
コード例 #11
0
 public virtual void Save(Serializer serializer, TBlock block, DictionaryAccess data)
 {
 }
コード例 #12
0
 public virtual void Save(DictionaryAccess data, TItem item)
 {
 }
コード例 #13
0
 public override void Save(Serializer serializer, GrassBlock block, DictionaryAccess data)
 {
     base.Save(serializer, block, data);
 }
コード例 #14
0
 public void Save(Serializer serializer, Block block, DictionaryAccess data)
 {
     Save(serializer, (TBlock)block, data);
 }
コード例 #15
0
 public override void Save(Item item, DictionaryAccess data)
 {
     Save(data, (TItem)item);
 }
コード例 #16
0
 public override void Save(Serializer serializer, Player player, DictionaryAccess data)
 {
     base.Save(serializer, player, data);
     data.Set("inventory", serializer.MapInventory(player.Inventory));
 }
コード例 #17
0
 public override Block Load(Deserializer deserializer, DictionaryAccess data)
 {
     return(new StandardBlock(this, data.GetOrDefault("integrity", MaxIntegrity)));
 }
コード例 #18
0
 public override void Save(Serializer serializer, Frog entity, DictionaryAccess data)
 {
     base.Save(serializer, entity, data);
 }
コード例 #19
0
 public override IEntity Load(LoadContext context, DictionaryAccess data)
 {
     return(new Frog(this));
 }
コード例 #20
0
 public virtual void Save(Serializer serializer, TEntity entity, DictionaryAccess data)
 {
 }
コード例 #21
0
 public void Save(Serializer serializer, IEntity block, DictionaryAccess data)
 {
     Save(serializer, (TEntity)block, data);
 }
コード例 #22
0
 public abstract IEntity Load(LoadContext context, DictionaryAccess data);
コード例 #23
0
 public override Item Load(DictionaryAccess data)
 {
     return(new StandardItem(this));
 }
コード例 #24
0
 public abstract Block Load(Deserializer deserializer, DictionaryAccess data);