item메니저 작업 50%완료

This commit is contained in:
김판돌 2024-03-03 15:53:31 +09:00
parent e7f121a2d6
commit 516c777c23
15 changed files with 222 additions and 179 deletions

View File

@ -2593,7 +2593,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 30}
m_Pivot: {x: 0, y: 1}
--- !u!114 &210720351
MonoBehaviour:
@ -15005,7 +15005,6 @@ GameObject:
m_Component:
- component: {fileID: 1425425574}
- component: {fileID: 1425425576}
- component: {fileID: 1425425575}
m_Layer: 0
m_Name: Camera (1)
m_TagString: Untagged
@ -15028,20 +15027,6 @@ Transform:
m_Children: []
m_Father: {fileID: 1205412847}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1425425575
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1425425573}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f97d481d44cb90a469c35682cc60c385, type: 3}
m_Name:
m_EditorClassIdentifier:
goldText: []
cashText: []
--- !u!20 &1425425576
Camera:
m_ObjectHideFlags: 0
@ -17046,7 +17031,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1647398731
RectTransform:
m_ObjectHideFlags: 0

View File

@ -98,7 +98,7 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
{
ButtonStatus();
onItemPrefabList.Clear();
foreach (var item in Statics.equipment)
foreach (var item in Statics.itemManager.box.equipment)
{
//장착된 아이템 스킵
if (item.equip_unit != 0)
@ -110,10 +110,10 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
onItemPrefabList.Add(prefab);
}
foreach (var item in Statics.deckUnit)
foreach (var item in Statics.itemManager.box.deckUnitInfo)
{
UnitPrefab prefab = unitPrefabList.pop();
prefab.SetData(item.Value);
prefab.SetData(item);
prefab.gameObject.SetActive(true);
onUnitPrefabList.Add(prefab);
}
@ -189,7 +189,7 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
criticalDamage.text = "50%";
damageReduction.text = "0%";
int index = -1;
Equipment index = null;
if (deckUnitInfo.equip0_id == 0)
{
@ -198,14 +198,14 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
else
{
equipItems[0].color = Color.white;
index = Statics.equipment.FindIndex(n => (n.id == deckUnitInfo.equip0_id));
if (index == -1)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip0_id);
if (index == null)
{
Debug.LogError("notData");
equipItems[2].color = Color.clear;
}
else
equipItems[0].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[Statics.equipment[index].equipment_data_id].name];
equipItems[0].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[index.equipment_data_id].name];
}
if (deckUnitInfo.equip1_id == 0)
{
@ -214,14 +214,14 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
else
{
equipItems[1].color = Color.white;
index = Statics.equipment.FindIndex(n => (n.id == deckUnitInfo.equip1_id));
if (index == -1)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip1_id);
if (index == null)
{
Debug.LogError("notData");
equipItems[2].color = Color.clear;
}
else
equipItems[1].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[Statics.equipment[index].equipment_data_id].name];
equipItems[1].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[index.equipment_data_id].name];
}
if (deckUnitInfo.equip2_id == 0)
{
@ -230,14 +230,14 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
else
{
equipItems[2].color = Color.white;
index = Statics.equipment.FindIndex(n => (n.id == deckUnitInfo.equip2_id));
if(index == -1)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip2_id);
if (index == null)
{
Debug.LogError("notData");
equipItems[2].color = Color.clear;
}
else
equipItems[2].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[Statics.equipment[index].equipment_data_id].name];
equipItems[2].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[index.equipment_data_id].name];
}
if (deckUnitInfo.equip3_id == 0)
{
@ -246,14 +246,14 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
else
{
equipItems[3].color = Color.white;
index = Statics.equipment.FindIndex(n => (n.id == deckUnitInfo.equip3_id));
if (index == -1)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip3_id);
if (index == null)
{
Debug.LogError("notData : " + deckUnitInfo.equip3_id);
equipItems[2].color = Color.clear;
}
else
equipItems[3].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[Statics.equipment[index].equipment_data_id].name];
equipItems[3].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[index.equipment_data_id].name];
}
if (deckUnitInfo.equip4_id == 0)
{
@ -262,14 +262,14 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
else
{
equipItems[4].color = Color.white;
index = Statics.equipment.FindIndex(n => (n.id == deckUnitInfo.equip4_id));
if (index == -1)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip4_id);
if (index == null)
{
Debug.LogError("notData");
equipItems[2].color = Color.clear;
}
else
equipItems[4].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[Statics.equipment[index].equipment_data_id].name];
equipItems[4].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[index.equipment_data_id].name];
}
if (deckUnitInfo.equip5_id == 0)
{
@ -278,14 +278,14 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
else
{
equipItems[5].color = Color.white;
index = Statics.equipment.FindIndex(n => (n.id == deckUnitInfo.equip5_id));
if (index == -1)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip5_id);
if (index == null)
{
Debug.LogError("notData");
equipItems[2].color = Color.clear;
}
else
equipItems[5].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[Statics.equipment[index].equipment_data_id].name];
equipItems[5].sprite = Statics.stringIcons[Statics.excelDatas.equipmentData[index.equipment_data_id].name];
}
@ -319,43 +319,33 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
public void ItemSet(ePart part)
{
Equipment equipment;
int index = -1;
switch (part)
{
case ePart.Weapon:
if ((index = Statics.equipment.FindIndex(n => n.id == selectUnit.equip0_id)) != -1)
equipment = Statics.equipment[index];
else return;
equipment = Statics.itemManager.box.FindEquipment(selectUnit.equip0_id);
break;
case ePart.Armor:
if ((index = Statics.equipment.FindIndex(n => n.id == selectUnit.equip1_id)) != -1)
equipment = Statics.equipment[index];
else return;
equipment = Statics.itemManager.box.FindEquipment(selectUnit.equip1_id);
break;
case ePart.Gloves:
if ((index = Statics.equipment.FindIndex(n => n.id == selectUnit.equip2_id)) != -1)
equipment = Statics.equipment[index];
else return;
equipment = Statics.itemManager.box.FindEquipment(selectUnit.equip2_id);
break;
case ePart.Headpiece:
if ((index = Statics.equipment.FindIndex(n => n.id == selectUnit.equip3_id)) != -1)
equipment = Statics.equipment[index];
else return;
equipment = Statics.itemManager.box.FindEquipment(selectUnit.equip3_id);
break;
case ePart.Shield:
if ((index = Statics.equipment.FindIndex(n => n.id == selectUnit.equip4_id)) != -1)
equipment = Statics.equipment[index];
else return;
equipment = Statics.itemManager.box.FindEquipment(selectUnit.equip4_id);
break;
case ePart.Ring:
if ((index = Statics.equipment.FindIndex(n => n.id == selectUnit.equip5_id)) != -1)
equipment = Statics.equipment[index];
else return;
equipment = Statics.itemManager.box.FindEquipment(selectUnit.equip5_id);
break;
default:
Debug.LogError("Not Data");
return;
}
if (equipment == null)
return;
EquipmentData equipmentData = Statics.excelDatas.equipmentData[equipment.equipment_data_id];
this.selectItem = equipment;
@ -477,18 +467,9 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
EquipChangeResp request = new EquipChangeResp();
request.Request((data) =>
{
//½Å±Ô Á¤º¸·Î µ¥ÀÌÅÍ ±³Ã¼
for(int n = 0; n < Statics.equipment.Count; n++)
{
if (Statics.equipment[n].id == data.equipment.id)
{
Statics.equipment[n] = data.equipment;
break;
}
}
Statics.itemManager.box.UpdateEquipment(data.equipment);
Statics.deckUnit.Remove(data.deck_unit_info.id);
Statics.deckUnit.Add(data.deck_unit_info.id, data.deck_unit_info);
Statics.itemManager.box.UpdateDeckUnitInfo(data.deck_unit_info);
//세팅되어있는 데이터 수정
selectUnitPrefab.SetData(data.deck_unit_info);
@ -518,14 +499,8 @@ public class UnitSetUiCtrl : SingletonMonoBehaviour<UnitSetUiCtrl>
//추가 데이터 처리
if (data.change_equipment != null)
{
for (int n = 0; n < Statics.equipment.Count; n++)
{
if (Statics.equipment[n].id == data.change_equipment.id)
{
Statics.equipment[n] = data.change_equipment;
break;
}
}
Statics.itemManager.box.UpdateEquipment(data.change_equipment);
//이곳은 장착 해제 여부밖에 나올수 없어 이렇게 작업됨.
EquipmentItemPrefab prefab = itemPrefabList.pop();
prefab.SetData(data.change_equipment);

View File

@ -46,11 +46,11 @@ public class UnitInfo
public void DeckUnitInfoSet()
{
foreach (var item in Statics.deckUnit)
foreach (var item in Statics.itemManager.box.deckUnitInfo)
{
if (item.Value.unit_data_id == _id)
if (item.unit_data_id == _id)
{
this.deckUnitInfo = item.Value;
this.deckUnitInfo = item;
}
}
if (this.deckUnitInfo == null)
@ -59,15 +59,14 @@ public class UnitInfo
return;
}
int index = -1;
Equipment index = null;
if (this.deckUnitInfo.equip0_id != 0)//무기
{
//장착에 대한 시스템 작성
index = Statics.equipment.FindIndex(n => n.id == deckUnitInfo.equip0_id);
Equipment eq = Statics.equipment[index];
EquipmentData eqd = Statics.excelDatas.equipmentData[eq.equipment_data_id];
switch (eq.rand_stats)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip0_id);
EquipmentData eqd = Statics.excelDatas.equipmentData[index.equipment_data_id];
switch (index.rand_stats)
{
case 1: //공격력
_attack += eqd.stats1;
@ -82,10 +81,9 @@ public class UnitInfo
if (this.deckUnitInfo.equip1_id != 0)//갑옷
{
//장착에 대한 시스템 작성
index = Statics.equipment.FindIndex(n => n.id == deckUnitInfo.equip1_id);
Equipment eq = Statics.equipment[index];
EquipmentData eqd = Statics.excelDatas.equipmentData[eq.equipment_data_id];
switch (eq.rand_stats)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip1_id);
EquipmentData eqd = Statics.excelDatas.equipmentData[index.equipment_data_id];
switch (index.rand_stats)
{
case 1: //방어력
_defense += eqd.stats1;
@ -101,10 +99,9 @@ public class UnitInfo
if (this.deckUnitInfo.equip2_id != 0)//장갑
{
//장착에 대한 시스템 작성
index = Statics.equipment.FindIndex(n => n.id == deckUnitInfo.equip2_id);
Equipment eq = Statics.equipment[index];
EquipmentData eqd = Statics.excelDatas.equipmentData[eq.equipment_data_id];
switch (eq.rand_stats)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip2_id);
EquipmentData eqd = Statics.excelDatas.equipmentData[index.equipment_data_id];
switch (index.rand_stats)
{
case 1: //이동속도
_moveSpeed += eqd.stats1;
@ -121,10 +118,9 @@ public class UnitInfo
if (this.deckUnitInfo.equip3_id != 0)//투구
{
//장착에 대한 시스템 작성
index = Statics.equipment.FindIndex(n => n.id == deckUnitInfo.equip3_id);
Equipment eq = Statics.equipment[index];
EquipmentData eqd = Statics.excelDatas.equipmentData[eq.equipment_data_id];
switch (eq.rand_stats)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip3_id);
EquipmentData eqd = Statics.excelDatas.equipmentData[index.equipment_data_id];
switch (index.rand_stats)
{
case 1: //공격력
_attack += eqd.stats1;
@ -140,10 +136,9 @@ public class UnitInfo
if (this.deckUnitInfo.equip4_id != 0)//방패
{
//장착에 대한 시스템 작성
index = Statics.equipment.FindIndex(n => n.id == deckUnitInfo.equip4_id);
Equipment eq = Statics.equipment[index];
EquipmentData eqd = Statics.excelDatas.equipmentData[eq.equipment_data_id];
switch (eq.rand_stats)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip4_id);
EquipmentData eqd = Statics.excelDatas.equipmentData[index.equipment_data_id];
switch (index.rand_stats)
{
case 1: //방어력
_defense += eqd.stats1;
@ -159,10 +154,9 @@ public class UnitInfo
if (this.deckUnitInfo.equip5_id != 0)//반지
{
//장착에 대한 시스템 작성
index = Statics.equipment.FindIndex(n => n.id == deckUnitInfo.equip5_id);
Equipment eq = Statics.equipment[index];
EquipmentData eqd = Statics.excelDatas.equipmentData[eq.equipment_data_id];
switch (eq.rand_stats)
index = Statics.itemManager.box.FindEquipment(deckUnitInfo.equip5_id);
EquipmentData eqd = Statics.excelDatas.equipmentData[index.equipment_data_id];
switch (index.rand_stats)
{
case 1: //치명타확률
break;

View File

@ -122,17 +122,13 @@ public class MainCtrl : MonoBehaviour
{
PlayerPrefs.SetString("uuid", data.uuid);
Statics.uuid = data.uuid;
List<DeckUnitInfo> units = data.deck_unit.OrderBy(n => n.unit_data_id).ToList();
Statics.deck_info = data.deck_info.OrderBy(n => n.id).ToList();
Statics.equipment = data.equipment.OrderBy(n => n.equipment_data_id).ToList();
//유닛정보 Set
foreach (DeckUnitInfo item in units)
Statics.deckUnit.Add(item.id, item);
//다이나믹 데이터 Set
foreach (var item in data.dynamic_data)
Statics.dynamic.Add(item.name, item.value);
Statics.itemManager = new ItemManager(data.deck_unit, data.equipment, data.consumableItem, data.etcItem);
Statics.nickname = data.nickname;
Statics.gold = data.gold;
Statics.cash = data.cash;

View File

@ -44,15 +44,15 @@ public class PlayCtrl : SingletonMonoBehaviour<PlayCtrl>
isEndGame = false;
delay = 0.0f;
units = new UnitCtrl[9];
units[0] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit0_id].unit_data_id].GetComponent<UnitCtrl>();
units[1] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit1_id].unit_data_id].GetComponent<UnitCtrl>();
units[2] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit2_id].unit_data_id].GetComponent<UnitCtrl>();
units[3] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit3_id].unit_data_id].GetComponent<UnitCtrl>();
units[4] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit4_id].unit_data_id].GetComponent<UnitCtrl>();
units[5] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit5_id].unit_data_id].GetComponent<UnitCtrl>();
units[6] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit6_id].unit_data_id].GetComponent<UnitCtrl>();
units[7] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit7_id].unit_data_id].GetComponent<UnitCtrl>();
units[8] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit8_id].unit_data_id].GetComponent<UnitCtrl>();
units[0] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit0_id).unit_data_id].GetComponent<UnitCtrl>();
units[1] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit1_id).unit_data_id].GetComponent<UnitCtrl>();
units[2] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit2_id).unit_data_id].GetComponent<UnitCtrl>();
units[3] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit3_id).unit_data_id].GetComponent<UnitCtrl>();
units[4] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit4_id).unit_data_id].GetComponent<UnitCtrl>();
units[5] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit5_id).unit_data_id].GetComponent<UnitCtrl>();
units[6] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit6_id).unit_data_id].GetComponent<UnitCtrl>();
units[7] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit7_id).unit_data_id].GetComponent<UnitCtrl>();
units[8] = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(Statics.deck_info[0].deck_unit8_id).unit_data_id].GetComponent<UnitCtrl>();
for (int n = 0; n < unitSpriteButton.Length; n++)
{
unitSpriteButton[n].sprite = units[n].unitSprite;

View File

@ -59,7 +59,7 @@ public class DeckPrefab : MonoBehaviour
}
else
{
img.sprite = Statics.longUnits[Statics.deckUnit[unit_id].unit_data_id].GetComponent<UnitCtrl>().unitSprite;
img.sprite = Statics.longUnits[Statics.itemManager.box.FindDeckUnitInfo(unit_id).unit_data_id].GetComponent<UnitCtrl>().unitSprite;
img.color = Color.white;
}
}

View File

@ -1,35 +1,5 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ShopType1itemPrefab : MonoBehaviour
public class ShopType1itemPrefab : ShopTypeitemPrefab
{
//추상화 시킬것
[SerializeField] Image img;
[SerializeField] TMP_Text pay;
ShopItemData shopItemData;
public void Set(ShopItemData shopItemData)
{
//img.sprite = null;
//골드인지 다른아이탬인지 구분 가능하게 만들것.
pay.text = "₩" + shopItemData.buy.ToString();
this.shopItemData = shopItemData;
}
public void BuyItemButton()
{
BuyShopItemResp resp = new BuyShopItemResp();
resp.Request((data) =>
{
Debug.Log("아이템 구매 성공");
Statics.gold = data.gold;
Statics.cash = data.cash;
GameCtrl.Instance.MoneyUpdate();
}, shopItemData.index);
}
}

View File

@ -2,33 +2,14 @@ using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ShopType2itemPrefab : MonoBehaviour
public class ShopType2itemPrefab : ShopTypeitemPrefab
{
//추상화 시킬것
[SerializeField] Image img;
[SerializeField] TMP_Text pay;
[SerializeField] TMP_Text name;
ShopItemData shopItemData;
public void Set(ShopItemData shopItemData)
protected override void OnSet(ShopItemData shopItemData)
{
//img.sprite = null;
//골드인지 다른아이탬인지 구분 가능하게 만들것.
name.text = shopItemData.name;
pay.text = "₩" + shopItemData.buy.ToString();
this.shopItemData = shopItemData;
}
public void BuyItemButton()
{
BuyShopItemResp resp = new BuyShopItemResp();
resp.Request((data) =>
{
Debug.Log("아이템 구매 성공");
Statics.gold = data.gold;
Statics.cash = data.cash;
GameCtrl.Instance.MoneyUpdate();
}, shopItemData.index);
}
}

View File

@ -0,0 +1,37 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class ShopTypeitemPrefab : MonoBehaviour
{
[SerializeField] Image img;
[SerializeField] TMP_Text pay;
ShopItemData shopItemData;
public void Set(ShopItemData shopItemData)
{
this.shopItemData = shopItemData;
pay.text = "£Ü" + shopItemData.buy.ToString();
OnSet(shopItemData);
}
virtual protected void OnSet(ShopItemData shopItemData)
{
}
public void BuyItemButton()
{
BuyShopItemResp resp = new BuyShopItemResp();
resp.Request((data) =>
{
Debug.Log("¾ÆÀÌÅÛ ±¸¸Å ¼º°ø");
Statics.gold = data.gold;
Statics.cash = data.cash;
GameCtrl.Instance.MoneyUpdate();
}, shopItemData.index);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c99084a4c030b0c4da4cdc38b388016a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -217,6 +217,18 @@ public class DeckUnitInfo
public long equip5_id { get; set; }
public int level { get; set; }
public long exp { get; set; }
public void Update(DeckUnitInfo item)
{
this.equip0_id = item.equip0_id;
this.equip1_id = item.equip1_id;
this.equip2_id = item.equip2_id;
this.equip3_id = item.equip3_id;
this.equip4_id = item.equip4_id;
this.equip5_id = item.equip5_id;
this.level = item.level;
this.exp = item.exp;
}
}
public class Equipment
@ -225,6 +237,11 @@ public class Equipment
public long equip_unit { get; set; }
public int rand_stats { get; set; }
public long equipment_data_id { get; set; }
public void Update(Equipment item)
{
this.equip_unit = item.equip_unit;
//this.rand_stats = item.rand_stats;
}
}
public class DeckInfo

View File

@ -0,0 +1,68 @@
using System.Collections.Generic;
using System.Linq;
public class ItemManager
{
public ItemBox box;
public ItemManager(List<DeckUnitInfo> deckUnitInfo, List<Equipment> equipment, List<ConsumableItem> consumableItem, List<EtcItem> etcItem)
{
box = new ItemBox(deckUnitInfo, equipment, consumableItem, etcItem);
}
}
public class ItemBox
{
List<DeckUnitInfo> _deckUnitInfo;
public List<DeckUnitInfo> deckUnitInfo { get { return _deckUnitInfo; } }
List<Equipment> _equipment;
public List<Equipment> equipment { get { return _equipment; } }
List<ConsumableItem> _consumableItem;
public List<ConsumableItem> consumableItem { get { return _consumableItem; } }
List<EtcItem> _etcItem;
public List<EtcItem> etcItem { get { return _etcItem; } }
public ItemBox(List<DeckUnitInfo> deckUnitInfo, List<Equipment> equipment, List<ConsumableItem> consumableItem, List<EtcItem> etcItem)
{
if (deckUnitInfo == null)
_deckUnitInfo = new List<DeckUnitInfo>();
else
_deckUnitInfo = deckUnitInfo.OrderBy(n => n.unit_data_id).ToList();
if (equipment == null)
_equipment = new List<Equipment>();
else
_equipment = equipment.OrderBy(n => n.id).ToList();
if (consumableItem == null)
_consumableItem = new List<ConsumableItem>();
else
_consumableItem = consumableItem.OrderBy(n => n.id).ToList();
if (etcItem == null)
_etcItem = new List<EtcItem>();
else
_etcItem = etcItem.OrderBy(n => n.id).ToList();
}
public DeckUnitInfo FindDeckUnitInfo(long id)
{
return _deckUnitInfo.Find(n => n.id == id);
}
public int FindIndexDeckUnitInfo(long unit_data_id)
{
return _deckUnitInfo.FindIndex(n => n.unit_data_id == unit_data_id);
}
public Equipment FindEquipment(long id)
{
return _equipment.Find(n => n.id == id);
}
public void UpdateDeckUnitInfo(DeckUnitInfo item)
{
FindDeckUnitInfo(item.id).Update(item);
}
public void UpdateEquipment(Equipment item)
{
FindEquipment(item.id).Update(item);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 684784a96ae48354f9acf30f4d4bb237
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -17,7 +17,7 @@ public class SingletonMonoBehaviour<T> : MonoBehaviour where T : SingletonMonoBe
{
Debug.Log("1개이상의 싱글턴이 존재합니다" + gameObject.name);
Debug.Log("같은 함수가 들어간 싱글턴을 제거해 주세요");
Destroy(gameObject);
//Destroy(gameObject);
}
}

View File

@ -23,17 +23,15 @@ public class Statics
//서버에서 내려주는 데이터들
public static string uuid;
public static Dictionary<string, string> dynamic = new Dictionary<string, string>();
public static Dictionary<long, DeckUnitInfo> deckUnit = new Dictionary<long, DeckUnitInfo>();
//유저 기본 정보
public static string nickname;
public static ulong gold;
public static ulong cash;
public static ItemManager itemManager;
//유저가 세팅한 덱 정보
public static List<DeckInfo> deck_info;
public static List<Equipment> equipment;
//유저가 플레이한 쳅터 정보
public static int chapter;
}