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_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 30}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!114 &210720351 --- !u!114 &210720351
MonoBehaviour: MonoBehaviour:
@ -15005,7 +15005,6 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 1425425574} - component: {fileID: 1425425574}
- component: {fileID: 1425425576} - component: {fileID: 1425425576}
- component: {fileID: 1425425575}
m_Layer: 0 m_Layer: 0
m_Name: Camera (1) m_Name: Camera (1)
m_TagString: Untagged m_TagString: Untagged
@ -15028,20 +15027,6 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 1205412847} m_Father: {fileID: 1205412847}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 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 --- !u!20 &1425425576
Camera: Camera:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -17046,7 +17031,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &1647398731 --- !u!224 &1647398731
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

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

View File

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

View File

@ -122,17 +122,13 @@ public class MainCtrl : MonoBehaviour
{ {
PlayerPrefs.SetString("uuid", data.uuid); PlayerPrefs.SetString("uuid", data.uuid);
Statics.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.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 //다이나믹 데이터 Set
foreach (var item in data.dynamic_data) foreach (var item in data.dynamic_data)
Statics.dynamic.Add(item.name, item.value); 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.nickname = data.nickname;
Statics.gold = data.gold; Statics.gold = data.gold;
Statics.cash = data.cash; Statics.cash = data.cash;

View File

@ -44,15 +44,15 @@ public class PlayCtrl : SingletonMonoBehaviour<PlayCtrl>
isEndGame = false; isEndGame = false;
delay = 0.0f; delay = 0.0f;
units = new UnitCtrl[9]; units = new UnitCtrl[9];
units[0] = Statics.longUnits[Statics.deckUnit[Statics.deck_info[0].deck_unit0_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.deckUnit[Statics.deck_info[0].deck_unit1_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.deckUnit[Statics.deck_info[0].deck_unit2_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.deckUnit[Statics.deck_info[0].deck_unit3_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.deckUnit[Statics.deck_info[0].deck_unit4_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.deckUnit[Statics.deck_info[0].deck_unit5_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.deckUnit[Statics.deck_info[0].deck_unit6_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.deckUnit[Statics.deck_info[0].deck_unit7_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.deckUnit[Statics.deck_info[0].deck_unit8_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++) for (int n = 0; n < unitSpriteButton.Length; n++)
{ {
unitSpriteButton[n].sprite = units[n].unitSprite; unitSpriteButton[n].sprite = units[n].unitSprite;

View File

@ -59,7 +59,7 @@ public class DeckPrefab : MonoBehaviour
} }
else 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; 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;
using UnityEngine.UI; using UnityEngine.UI;
public class ShopType2itemPrefab : MonoBehaviour public class ShopType2itemPrefab : ShopTypeitemPrefab
{ {
//추상화 시킬것
[SerializeField] Image img;
[SerializeField] TMP_Text pay;
[SerializeField] TMP_Text name; [SerializeField] TMP_Text name;
ShopItemData shopItemData; ShopItemData shopItemData;
public void Set(ShopItemData shopItemData)
protected override void OnSet(ShopItemData shopItemData)
{ {
//img.sprite = null;
//골드인지 다른아이탬인지 구분 가능하게 만들것.
name.text = shopItemData.name; 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 long equip5_id { get; set; }
public int level { get; set; } public int level { get; set; }
public long exp { 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 public class Equipment
@ -225,6 +237,11 @@ public class Equipment
public long equip_unit { get; set; } public long equip_unit { get; set; }
public int rand_stats { get; set; } public int rand_stats { get; set; }
public long equipment_data_id { 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 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("1개이상의 싱글턴이 존재합니다" + gameObject.name);
Debug.Log("같은 함수가 들어간 싱글턴을 제거해 주세요"); Debug.Log("같은 함수가 들어간 싱글턴을 제거해 주세요");
Destroy(gameObject); //Destroy(gameObject);
} }
} }

View File

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