오탈자 수정및 규칙 변경

This commit is contained in:
김민서 2024-02-29 16:42:54 +09:00
parent 0945f757c0
commit 44f1327bd2
6 changed files with 133 additions and 24 deletions

View File

@ -1,10 +1,13 @@
using Server.SQL; using NLog;
using Server.SQL;
using Server.System; using Server.System;
namespace Server.Manager namespace Server.Manager
{ {
public class ItemManager public class ItemManager
{ {
private static readonly NLog.ILogger logger = LogManager.GetCurrentClassLogger();
User user; User user;
public ItemBox box; public ItemBox box;
@ -30,33 +33,45 @@ namespace Server.Manager
switch (rewardData.reward_item_type) switch (rewardData.reward_item_type)
{ {
case eRewardItemType.gold: case eRewardItemType.gold:
user.gold += rewardData.return_item; user.gold += rewardData.return_count;
break; break;
case eRewardItemType.freecash: case eRewardItemType.freecash:
user.free_cash += rewardData.return_item; user.free_cash += rewardData.return_count;
break; break;
case eRewardItemType.paycash: case eRewardItemType.paycash:
user.pay_cash += rewardData.return_item; user.pay_cash += rewardData.return_count;
break; break;
case eRewardItemType.character: case eRewardItemType.character:
DeckUnitInfo deckUnitInfo = new DeckUnitInfo(); for (int n = 0; n < rewardData.return_count; n++)
deckUnitInfo.user_id = user.id; {
deckUnitInfo.unit_id = rewardData.return_item; DeckUnitInfo deckUnitInfo = new DeckUnitInfo();
box.Add(deckUnitInfo); deckUnitInfo.user_id = user.id;
deckUnitInfo.unit_id = rewardData.return_item;
box.Add(deckUnitInfo);
}
break; break;
case eRewardItemType.equipment: case eRewardItemType.equipment:
Equipment equipment = new Equipment(); Random rand = new Random();
equipment.user_id = user.id; for (int n = 0; n < rewardData.return_count; n++)
equipment.equip_unit = 0; {
equipment.rand_stats = (new Random()).Next(5); Equipment equipment = new Equipment();
equipment.equipment_data_id = rewardData.return_item; equipment.user_id = user.id;
box.Add(equipment); equipment.equip_unit = 0;
equipment.rand_stats = rand.Next(5);
equipment.equipment_data_id = rewardData.return_item;
box.Add(equipment);
}
break; break;
case eRewardItemType.consumable: case eRewardItemType.consumable:
//소모품 만들고 넣기 ConsumableItem consumableItem = new ConsumableItem();
consumableItem.user_id = user.id;
consumableItem.consumable_item_data_id = rewardData.return_item;
consumableItem.count = rewardData.return_count;
box.Add(consumableItem);
break; break;
case eRewardItemType.etc: case eRewardItemType.etc:
//기타아이탬 만들고 넣기 //기타아이탬 만들고 넣기
logger.Info("아직 개발중인 시스템");
break; break;
default: default:
throw new RuntimeException("Not case", Error.nodata); throw new RuntimeException("Not case", Error.nodata);
@ -72,15 +87,21 @@ namespace Server.Manager
public class ItemBox public class ItemBox
{ {
//유닛
List<DeckUnitInfo> _deckUnitInfo; List<DeckUnitInfo> _deckUnitInfo;
public List<DeckUnitInfo> deckUnitInfo { get { return _deckUnitInfo; } } public List<DeckUnitInfo> deckUnitInfo { get { return _deckUnitInfo; } }
public List<DeckUnitInfo> addDeckUnitInfo; public List<DeckUnitInfo> addDeckUnitInfo;
//장비
List<Equipment> _equipment; List<Equipment> _equipment;
public List<Equipment> equipment { get { return _equipment; } } public List<Equipment> equipment { get { return _equipment; } }
public List<Equipment> addEquipment; public List<Equipment> addEquipment;
//소모품
List<ConsumableItem> _consumableItem;
public List<ConsumableItem> consumableItem { get { return _consumableItem; } }
public List<ConsumableItem> addConsumableItem;
public ItemBox(User user) public ItemBox(User user)
{ {
_deckUnitInfo = Statics.deckUnitInfoSQL.SelectUid(user.id); _deckUnitInfo = Statics.deckUnitInfoSQL.SelectUid(user.id);
@ -133,13 +154,61 @@ namespace Server.Manager
return true; return true;
} }
public bool Add(List<Equipment> items) public bool Add(List<Equipment> items)
{ {
_equipment.AddRange(items); _equipment.AddRange(items);
addEquipment.AddRange(items); addEquipment.AddRange(items);
return true; return true;
} }
public bool Add(ConsumableItem item)
{
int index = _consumableItem.FindIndex(n => n.consumable_item_data_id == item.consumable_item_data_id);
int addIndex = addConsumableItem.FindIndex(n => n.consumable_item_data_id == item.consumable_item_data_id);
if (index == -1)
{
_consumableItem.Add(item);
}
else
{
_consumableItem[index].count += item.count;
}
if (addIndex == -1)
{
addConsumableItem.Add(item);
}
else
{
addConsumableItem[index].count += item.count;
}
return true;
}
public bool Add(List<ConsumableItem> items)
{
foreach(ConsumableItem item in items)
{
int index = _consumableItem.FindIndex(n => n.consumable_item_data_id == item.consumable_item_data_id);
int addIndex = addConsumableItem.FindIndex(n => n.consumable_item_data_id == item.consumable_item_data_id);
if (index == -1)
{
_consumableItem.Add(item);
}
else
{
_consumableItem[index].count += item.count;
}
if (addIndex == -1)
{
addConsumableItem.Add(item);
}
else
{
addConsumableItem[index].count += item.count;
}
}
return true;
}
} }
} }

View File

@ -0,0 +1,37 @@
using Microsoft.EntityFrameworkCore;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations.Schema;
namespace Server.SQL
{
[Table("consumable_item", Schema = "gamedb")]
public class ConsumableItem
{
public long id { get; set; }
[JsonIgnore]
public long user_id { get; set; }
public long consumable_item_data_id { get; set; }
public int count { get; set; }
}
public class ConsumableItemSQL : SQL<ConsumableItem>
{
public override DbSet<ConsumableItem> table { get; set; }
public void Update(ConsumableItem consumableItem)
{
table.Update(consumableItem);
}
public override List<ConsumableItem> SelectUid(long user_id)
{
return table.Where(data => data.user_id == user_id).ToList();
}
public ConsumableItem SelectItem(long user_id, long consumable_item_id)
{
return table.FirstOrDefault(data => (data.user_id == user_id) && (data.id == consumable_item_id));
}
}
}

View File

@ -34,15 +34,17 @@ namespace Server.SQL
{ {
return consumableItemData.Values.ToList(); return consumableItemData.Values.ToList();
} }
public void init(sheet data) public void init(Sheet data)
{ {
this.consumableItemData = new Dictionary<long, ConsumableItemData>(); this.consumableItemData = new Dictionary<long, ConsumableItemData>();
foreach (var item in data.dicViewer) foreach (var item in data.dicViewer)
{ {
//ConsumableItemData ConsumableItemData = new ConsumableItemData(); ConsumableItemData consumableItemData = new ConsumableItemData();
//ConsumableItemData.index = item.Key; consumableItemData.index = item.Key;
//ConsumableItemData.part = (int)item.Value["part"]; consumableItemData.name = (string)item.Value["name"];
//this.ConsumableItemData.Add(item.Key, ConsumableItemData); consumableItemData.item_type = (eItemType)item.Value["item_type"];
consumableItemData.reward = (string)item.Value["reward"];
this.consumableItemData.Add(item.Key, consumableItemData);
} }
} }
} }

View File

@ -8,7 +8,7 @@ namespace Server.SQL
public class DeckUnitInfo public class DeckUnitInfo
{ {
public long id { get; set; } public long id { get; set; }
public long unit_id { get; set; } public long unit_id { get; set; }//네이밍 변경할것 unit_id > unit_data_id
[JsonIgnore] [JsonIgnore]
public long user_id { get; set; } public long user_id { get; set; }
public long equip0_id { get; set; } public long equip0_id { get; set; }

View File

@ -9,6 +9,7 @@ namespace Server.SQL
public long index { get; set; } public long index { get; set; }
public eRewardItemType reward_item_type { get; set; } public eRewardItemType reward_item_type { get; set; }
public long return_item { get; set; } public long return_item { get; set; }
public int return_count { get; set; }
} }
public enum eRewardItemType public enum eRewardItemType

View File

@ -14,7 +14,7 @@ namespace Server.Service
private void SaveSQL(ItemManager item) private void SaveSQL(ItemManager item)
{ {
Statics.userSQL.SaveChanges(); Statics.userSQL.SaveChanges();
item.SaveSQL(); item.box.SaveSQL();
} }
public override string Process() public override string Process()