Save_Equipment_Craft

This commit is contained in:
Ino 2025-07-03 15:56:39 +09:00
parent bc45da16de
commit 579435e4c4
8 changed files with 228 additions and 26 deletions

View File

@ -343,6 +343,23 @@ function Use_Item(table, urod, itemid, amount)
}
return false;
}
function Get_ItemAmount(urod, itemid)
{
if (urod.Item?.[itemid]) return urod.Item[itemid][0];
if (urod.Equipment?.[itemid]) return urod.Equipment[itemid][0];
if (urod.Skill?.[itemid]) return urod.Skill[itemid][0];
if (urod.Pet?.[itemid]) return urod.Pet[itemid][0];
if (urod.Enchant?.[itemid]) return urod.Enchant[itemid][0];
if (urod.Relic?.[itemid]) return urod.Relic[itemid][0];
return 0;
}
function Check_ItemAmount(urod, itemid, amount)
{
//log.info("Check_ItemAmount : " + itemid + ", " + amount);
var obtainAmount = Get_ItemAmount(urod, itemid);
//log.info("obtainAmount : " + obtainAmount);
return obtainAmount >= amount;
}
function Add_MissionCount(table, urod, purpose, conditionvalue, count, setValue) {
if (count <= 0) return;
@ -367,6 +384,7 @@ function Add_MissionCount(table, urod, purpose, conditionvalue, count, setValue)
//log.info("typeof conditionvalue: " + typeof conditionvalue);
//log.info("n_MissionConditionValue: " + mission.n_MissionConditionValue);
//log.info("conditionvalue: " + conditionvalue);
//log.info(mission.e_MissionConditionType + " " + mission.n_MissionGroupId + " " + mission.n_MissionIndex);
if (mission.n_MissionConditionValue == 0 || conditionvalue == mission.n_MissionConditionValue) {
var key1 = mission.n_MissionGroupId;
var key2 = mission.n_MissionIndex;
@ -1029,6 +1047,49 @@ handlers.Save_PC_LimitPreset = function(args)
Set_JsonUserData(urod);
return Get_Return(0);
}
handlers.Save_Equipment_Craft = function(args)
{
var readonlydata = Get_UserReadOnlyData();
var error = Get_Error(readonlydata, args.Token);
if (error < 0) return Get_Return(error);
var urod = Get_JsonUserData(readonlydata);
var equipcraftingtable = Get_EquipCraftingTable();
// 재료 체크
var Tdata = equipcraftingtable.find(f=>f.n_CraftingItemID == args.ItemID);
if (Tdata)
{
if (Tdata.n_MaterialValue1 == 0 || Check_ItemAmount(urod, Tdata.n_MaterialValue1, Tdata.n_MaterialCount1))
{
if (Tdata.n_MaterialValue2 == 0 || Check_ItemAmount(urod, Tdata.n_MaterialValue2, Tdata.n_MaterialCount2))
{
if (Tdata.n_MaterialValue3 == 0 || Check_ItemAmount(urod, Tdata.n_MaterialValue3, Tdata.n_MaterialCount3))
{
if (Tdata.n_MainGoodsID == 0 || Check_ItemAmount(urod, Tdata.n_MainGoodsID, Tdata.n_MainGoodsCount))
{
var table = Get_MissionTable();
if (Tdata.n_MaterialValue1 > 0) Use_Item(table, urod, Tdata.n_MaterialValue1, Tdata.n_MaterialCount1);
if (Tdata.n_MaterialValue2 > 0) Use_Item(table, urod, Tdata.n_MaterialValue2, Tdata.n_MaterialCount2);
if (Tdata.n_MaterialValue3 > 0) Use_Item(table, urod, Tdata.n_MaterialValue3, Tdata.n_MaterialCount3);
if (Tdata.n_MainGoodsID > 0) Use_Item(table, urod, Tdata.n_MainGoodsID, Tdata.n_MainGoodsCount);
Add_Item(table, Get_ItemTable(), urod, Tdata.n_CraftingItemID, 1);
Add_MissionCount(table, urod, "EQUIP_ITEM_CRAFTING", 0, 1);
Add_MissionCount(table, urod, "EQUIP_ITEM_CRAFTING_ACC", 0, 1);
Set_JsonUserData(urod);
return Get_Return(0);
}
}
}
}
return Get_Return(1);
}
return Get_Return(2);
}
/////////////////////////////////// 서버 처리
handlers.Write_UnityInApp = function(args)
@ -3543,6 +3604,110 @@ function Get_RandomItemId(dropIndex, grade) {
return null;
}
function Get_EquipCraftingTable()
{
return [
{
"n_CraftingItemID": "10101001",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "1",
"n_MaterialValue1": "1",
"n_MaterialCount1": "1",
"n_MaterialValue2": "202",
"n_MaterialCount2": "10",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
},
{
"n_CraftingItemID": "10101002",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "2",
"n_MaterialValue1": "10101001",
"n_MaterialCount1": "1",
"n_MaterialValue2": "202",
"n_MaterialCount2": "20",
"n_MaterialValue3": "203",
"n_MaterialCount3": "10"
},
{
"n_CraftingItemID": "10101003",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "3",
"n_MaterialValue1": "10100002",
"n_MaterialCount1": "15",
"n_MaterialValue2": "202",
"n_MaterialCount2": "8888",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
},
{
"n_CraftingItemID": "10301001",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "4",
"n_MaterialValue1": "201",
"n_MaterialCount1": "10",
"n_MaterialValue2": "202",
"n_MaterialCount2": "20",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
},
{
"n_CraftingItemID": "10201001",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "4",
"n_MaterialValue1": "1",
"n_MaterialCount1": "1",
"n_MaterialValue2": "202",
"n_MaterialCount2": "11",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
},
{
"n_CraftingItemID": "10003",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "5",
"n_MaterialValue1": "10100003",
"n_MaterialCount1": "3",
"n_MaterialValue2": "202",
"n_MaterialCount2": "1000",
"n_MaterialValue3": "203",
"n_MaterialCount3": "100"
},
{
"n_CraftingItemID": "10004",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "6",
"n_MaterialValue1": "0",
"n_MaterialCount1": "0",
"n_MaterialValue2": "0",
"n_MaterialCount2": "0",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
},
{
"n_CraftingItemID": "101",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "7",
"n_MaterialValue1": "10200001",
"n_MaterialCount1": "5",
"n_MaterialValue2": "202",
"n_MaterialCount2": "1000",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
},
{
"n_CraftingItemID": "102",
"n_MainGoodsID": "201",
"n_MainGoodsCount": "8",
"n_MaterialValue1": "10200001",
"n_MaterialCount1": "5",
"n_MaterialValue2": "202",
"n_MaterialCount2": "1000",
"n_MaterialValue3": "0",
"n_MaterialCount3": "0"
}
]
}
function Get_PlayOCoupons()
{

View File

@ -1 +1 @@
[{"n_CraftingItemID": "10101001", "n_MainGoodsID": "201", "n__MainGoodsCount": "1", "n_MaterialValue1": "1", "n_MaterialCount1": "1", "n_MaterialValue2": "202", "n_MaterialCount2": "10", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10101002", "n_MainGoodsID": "201", "n__MainGoodsCount": "2", "n_MaterialValue1": "10101001", "n_MaterialCount1": "1", "n_MaterialValue2": "202", "n_MaterialCount2": "20", "n_MaterialValue3": "203", "n_MaterialCount3": "10"}, {"n_CraftingItemID": "10101003", "n_MainGoodsID": "201", "n__MainGoodsCount": "3", "n_MaterialValue1": "10100002", "n_MaterialCount1": "15", "n_MaterialValue2": "202", "n_MaterialCount2": "8888", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10301001", "n_MainGoodsID": "201", "n__MainGoodsCount": "4", "n_MaterialValue1": "201", "n_MaterialCount1": "10", "n_MaterialValue2": "202", "n_MaterialCount2": "20", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10201001", "n_MainGoodsID": "201", "n__MainGoodsCount": "4", "n_MaterialValue1": "1", "n_MaterialCount1": "1", "n_MaterialValue2": "202", "n_MaterialCount2": "11", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10003", "n_MainGoodsID": "201", "n__MainGoodsCount": "5", "n_MaterialValue1": "10100003", "n_MaterialCount1": "3", "n_MaterialValue2": "202", "n_MaterialCount2": "1000", "n_MaterialValue3": "203", "n_MaterialCount3": "100"}, {"n_CraftingItemID": "10004", "n_MainGoodsID": "201", "n__MainGoodsCount": "6", "n_MaterialValue1": "0", "n_MaterialCount1": "0", "n_MaterialValue2": "0", "n_MaterialCount2": "0", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "101", "n_MainGoodsID": "201", "n__MainGoodsCount": "7", "n_MaterialValue1": "10200001", "n_MaterialCount1": "5", "n_MaterialValue2": "202", "n_MaterialCount2": "1000", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "102", "n_MainGoodsID": "201", "n__MainGoodsCount": "8", "n_MaterialValue1": "10200001", "n_MaterialCount1": "5", "n_MaterialValue2": "202", "n_MaterialCount2": "1000", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}]
[{"n_CraftingItemID": "10101001", "n_MainGoodsID": "201", "n_MainGoodsCount": "1", "n_MaterialValue1": "1", "n_MaterialCount1": "1", "n_MaterialValue2": "202", "n_MaterialCount2": "10", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10101002", "n_MainGoodsID": "201", "n_MainGoodsCount": "2", "n_MaterialValue1": "10101001", "n_MaterialCount1": "1", "n_MaterialValue2": "202", "n_MaterialCount2": "20", "n_MaterialValue3": "203", "n_MaterialCount3": "10"}, {"n_CraftingItemID": "10101003", "n_MainGoodsID": "201", "n_MainGoodsCount": "3", "n_MaterialValue1": "10100002", "n_MaterialCount1": "15", "n_MaterialValue2": "202", "n_MaterialCount2": "8888", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10301001", "n_MainGoodsID": "201", "n_MainGoodsCount": "4", "n_MaterialValue1": "201", "n_MaterialCount1": "10", "n_MaterialValue2": "202", "n_MaterialCount2": "20", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10201001", "n_MainGoodsID": "201", "n_MainGoodsCount": "4", "n_MaterialValue1": "1", "n_MaterialCount1": "1", "n_MaterialValue2": "202", "n_MaterialCount2": "11", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "10003", "n_MainGoodsID": "201", "n_MainGoodsCount": "5", "n_MaterialValue1": "10100003", "n_MaterialCount1": "3", "n_MaterialValue2": "202", "n_MaterialCount2": "1000", "n_MaterialValue3": "203", "n_MaterialCount3": "100"}, {"n_CraftingItemID": "10004", "n_MainGoodsID": "201", "n_MainGoodsCount": "6", "n_MaterialValue1": "0", "n_MaterialCount1": "0", "n_MaterialValue2": "0", "n_MaterialCount2": "0", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "101", "n_MainGoodsID": "201", "n_MainGoodsCount": "7", "n_MaterialValue1": "10200001", "n_MaterialCount1": "5", "n_MaterialValue2": "202", "n_MaterialCount2": "1000", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}, {"n_CraftingItemID": "102", "n_MainGoodsID": "201", "n_MainGoodsCount": "8", "n_MaterialValue1": "10200001", "n_MaterialCount1": "5", "n_MaterialValue2": "202", "n_MaterialCount2": "1000", "n_MaterialValue3": "0", "n_MaterialCount3": "0"}]

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -840,7 +840,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &256108943895153093
RectTransform:
m_ObjectHideFlags: 0
@ -888,7 +888,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 00/00
m_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 6d7cd7be388f7ca40a8ad4491be308b8, type: 2}

View File

@ -1296,6 +1296,43 @@ public class ServerInfo : MyCoroutine
Set_Coroutine(() => { Save_PC_LimitPreset(preset, _act); }, 2f);
});
}
public void Save_Equipment_Craft(int itemid, Action _act)
{
NetWait.Ins.Set(true);
PlayFabClientAPI.ExecuteCloudScript(new ExecuteCloudScriptRequest
{
FunctionName = MethodBase.GetCurrentMethod().Name,
GeneratePlayStreamEvent = true,
FunctionParameter = new
{
Token = m_LoginInfo.EntityToken.EntityToken,
ItemID = itemid,
}
},
result =>
{
if (result.Error == null)
{
NetWait.Ins.Set(false);
var str_result = result.FunctionResult.ToString();
var error = MyErrorCheck(str_result);
// (0 성공, 1 실패 (재료 부족), 2 실패 (제작할 수 없는 아이템))
switch (error)
{
case 0: _act?.Invoke(); break;
case 1: ToastUI.Ins.Set(388); break;
case 2: ToastUI.Ins.Set(999900013); break;
}
}
else
Set_Coroutine(() => { Save_Equipment_Craft(itemid, _act); }, 2f);
},
fail =>
{
Set_Coroutine(() => { Save_Equipment_Craft(itemid, _act); }, 2f);
});
}
#endregion
#region

View File

@ -111,27 +111,30 @@ public class EquipmentMakePopup : uScrollViewMgr
{
if (CanMake())
{
var Tdata = table_equipcrafting.Ins.Get_Data(SelectItem.n_ItemID);
if (!DSUtil.CheckNull(Tdata))
ServerInfo.Ins.Save_Equipment_Craft(SelectItem.n_ItemID, () =>
{
var sdata = ServerInfo.Ins.m_ServerData;
if (Tdata.n_MaterialValue1 > 0) sdata.Use_Item(Tdata.n_MaterialValue1, Tdata.n_MaterialCount1);
if (Tdata.n_MaterialValue2 > 0) sdata.Use_Item(Tdata.n_MaterialValue2, Tdata.n_MaterialCount2);
if (Tdata.n_MaterialValue3 > 0) sdata.Use_Item(Tdata.n_MaterialValue3, Tdata.n_MaterialCount3);
if (Tdata.n_MainGoodsID > 0) sdata.Use_Item(Tdata.n_MainGoodsID, Tdata.n_MainGoodsCount);
sdata.Add_Item(Tdata.n_CraftingItemID, 1);
Set_UI();
if (PopupMgr.Ins.m_EquipmentPopup.isActiveAndEnabled)
PopupMgr.Ins.m_EquipmentPopup.Set_UI();
if (NewGameUI.Ins.m_EquipmentUI.m_EquipmentUI_Items.isActiveAndEnabled)
NewGameUI.Ins.m_EquipmentUI.m_EquipmentUI_Items.Set_UI();
if (CollectionEquipmentUI.isIns && CollectionEquipmentUI.Ins.isActiveAndEnabled)
CollectionEquipmentUI.Ins.Set();
ToastUI.Ins.Set(174, $"{Tdata.n_CraftingItemID} 제작 성공!!");
var Tdata = table_equipcrafting.Ins.Get_Data(SelectItem.n_ItemID);
if (!DSUtil.CheckNull(Tdata))
{
var sdata = ServerInfo.Ins.m_ServerData;
if (Tdata.n_MaterialValue1 > 0) sdata.Use_Item(Tdata.n_MaterialValue1, Tdata.n_MaterialCount1);
if (Tdata.n_MaterialValue2 > 0) sdata.Use_Item(Tdata.n_MaterialValue2, Tdata.n_MaterialCount2);
if (Tdata.n_MaterialValue3 > 0) sdata.Use_Item(Tdata.n_MaterialValue3, Tdata.n_MaterialCount3);
if (Tdata.n_MainGoodsID > 0) sdata.Use_Item(Tdata.n_MainGoodsID, Tdata.n_MainGoodsCount);
sdata.Add_Item(Tdata.n_CraftingItemID, 1);
Set_UI();
if (PopupMgr.Ins.m_EquipmentPopup.isActiveAndEnabled)
PopupMgr.Ins.m_EquipmentPopup.Set_UI();
if (NewGameUI.Ins.m_EquipmentUI.m_EquipmentUI_Items.isActiveAndEnabled)
NewGameUI.Ins.m_EquipmentUI.m_EquipmentUI_Items.Set_UI();
if (CollectionEquipmentUI.isIns && CollectionEquipmentUI.Ins.isActiveAndEnabled)
CollectionEquipmentUI.Ins.Set();
ToastUI.Ins.Set(174, $"{Tdata.n_CraftingItemID} 제작 성공!!");
sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_CRAFTING);
sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_CRAFTING_ACC);
}
sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_CRAFTING);
sdata.Add_MissionCount(ePurpose.EQUIP_ITEM_CRAFTING_ACC);
}
});
}
}

View File

@ -1,5 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
@ -18,7 +16,6 @@ public class EquipmentSimpleCard : CardBase
{
base.Set(_base);
m_ItemData = _base as ItemListTableData;
texts[0].text = "";
if (!DSUtil.CheckNull(m_ItemData))
{
m_Data = table_equipitemlist.Ins.Get_Data_orNull(m_ItemData.n_ItemID);