private void buttonCreate_Click(object sender, EventArgs e) { var groupId = short.Parse(this.labelLootGroupId.Text); if (dataHandler.LootGroups.ContainsKey(groupId)) { this.logger.Error("GroupId already exists in the database"); return; } var lootGroup = new LootGroupData { Id = LootGroupData.GenerateId(groupId), GroupId = groupId, }; if (storeItem(lootGroup)) { var idToString = groupId.ToString(); if (!treeViewLoots.Nodes.ContainsKey(idToString)) { this.treeViewLoots.Nodes.Add(idToString, idToString); this.logger.LogFormat("New Loot Group Created. Id = {0}", lootGroup.GroupId); this.ResetFields(); } } }
/// <summary> /// Loads item info for display /// </summary> private void loadItem(LootGroupData item) { this.labelLootGroupId.Text = item.GroupId.ToString(); this.textBoxMinGold.Text = item.MinGold.ToString(); this.textBoxMaxGold.Text = item.MaxGold.ToString(); this.textBoxGoldChance.Text = item.GoldChance.ToString(); this.listBoxLootItems.Items.AddRange(item.LootItems.Cast <object>().ToArray()); }
/// <summary> /// Saves info to the item /// </summary> private bool storeItem(LootGroupData item) { item.MinGold = byte.Parse(textBoxMinGold.Text); item.MaxGold = byte.Parse(textBoxMaxGold.Text); item.GoldChance = float.Parse(textBoxGoldChance.Text); item.LootItems = listBoxLootItems.Items.Cast <LootItemData>().ToArray(); return(this.dataHandler.StoreLootGroup(item)); }
public bool StoreLootGroup(LootGroupData lootGroup) { if (lootGroups.ContainsKey(lootGroup.GroupId)) { this.lootGroups[lootGroup.GroupId] = lootGroup; } else { this.lootGroups.Add(lootGroup.GroupId, lootGroup); } this.worldDb.Store(lootGroup); return(true); }
/// <summary> /// Tries to retrieve a <see cref="LootGroupData"/>. /// </summary> public bool TryGetLootGroupData(short lootGroupId, out LootGroupData lootGroupData) { return(this.lootGroupCache.TryGetValue(lootGroupId, out lootGroupData)); }
/// <summary> /// Adds a <see cref="LootGroupData"/>. /// </summary> public void AddLootGroupData(short lootGroupId, LootGroupData lootGroupData) { this.lootGroupCache.Add(lootGroupId, lootGroupData); }