From 84e7e9aa0ee6dbb6091f221b58e0f0605731d492 Mon Sep 17 00:00:00 2001 From: Ino Date: Tue, 1 Jul 2025 02:18:08 +0900 Subject: [PATCH] =?UTF-8?q?Mail=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=20:=20Player=20data=20=E2=86=92=20Read=20only=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/Resources/.CloudScript.js | 60 ++++++++----------- 1 file changed, 25 insertions(+), 35 deletions(-) diff --git a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js index 3a3fa8a82..d6c27a827 100644 --- a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js +++ b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js @@ -122,10 +122,10 @@ function Add_Mail(args) var dt = Get_CurKoreaTime(); makemail.RemainTime = new Date(dt.setDate(dt.getDate() + day)); - var userdata = server.GetUserData({ PlayFabId: currentPlayerId, Keys: ["Mail"] }).Data; + var readonlydata = Get_UserReadOnlyData(); var mailjson = []; - if (!CheckNullOrEmpty(userdata.Mail)) - mailjson = JSON.parse(userdata.Mail.Value); + if (!CheckNullOrEmpty(readonlydata.Data.Mail)) + mailjson = JSON.parse(readonlydata.Data.Mail.Value); mailjson.push(makemail); // 시간 지난 메일 확인 후 삭제 @@ -138,27 +138,13 @@ function Add_Mail(args) } mailjson = mailjson.filter(function(x) { return x !== null }); // null 모두 지우기 - server.UpdateUserData({ PlayFabId: currentPlayerId, Data: {"Mail": JSON.stringify(mailjson)} }); + Set_MailData(mailjson); return { result : mailjson }; } -function Del_Mail(itemname) -{ - var userdata = server.GetUserData({ PlayFabId: currentPlayerId, Keys: ["Mail"] }).Data; - var mailjson = JSON.parse(userdata.Mail.Value); - var mailindex = mailjson.findIndex(f=>f.Reward == itemname); - if(mailindex > -1) - { - mailjson.splice(mailindex, 1); - server.UpdateUserData({ PlayFabId: currentPlayerId, Data: {"Mail": JSON.stringify(mailjson)} }); - return true; - } - else - log.info(itemname + ' 아이템을 우편함에서 찾지 못했습니다.'); - return false; -} + handlers.Get_UserInfo = function (args) { var readonlydata = Get_UserReadOnlyData(); @@ -204,6 +190,10 @@ function Set_JsonUserData(urod) urod.LastTime = Get_CurKoreaTime(); server.UpdateUserReadOnlyData({ PlayFabId: currentPlayerId, Permission: "Public", Data: {"UserInfo": JSON.stringify(urod)} }); } +function Set_MailData(mailjson) +{ + server.UpdateUserReadOnlyData({ PlayFabId: currentPlayerId, Data: {"Mail": JSON.stringify(mailjson)} }); +} function Get_Return(errorval, add) { var rtn = { error: errorval, @@ -235,15 +225,15 @@ function Get_Return(errorval, add) { } function Add_Item(table, itemtable, urod, itemid, amount, isCheat) { - var itemdata = itemtable.find(f => f.n_ItemID === itemid); + var itemdata = itemtable.find(f => f.n_ItemID == itemid); if (!itemdata) { log.error("Add_Item - Invalid item ID: " + itemid); return; } - Add_MissionCount(table, urod, "TAKE_GOODS", itemid, itemCount, false); - Add_MissionCount(table, urod, "TAKE_GOODS_LIMIT", itemid, itemCount, false); - Add_MissionCount(table, urod, "TAKE_GOODS_ACC", itemid, itemCount, false); + Add_MissionCount(table, urod, "TAKE_GOODS", itemid, amount, false); + Add_MissionCount(table, urod, "TAKE_GOODS_LIMIT", itemid, amount, false); + Add_MissionCount(table, urod, "TAKE_GOODS_ACC", itemid, amount, false); switch (itemdata.e_ItemType) { @@ -430,16 +420,16 @@ handlers.Get_MailList = function(args) } handlers.Get_MailReward = function(args) { - var error = Get_Error(args.Token); + var readonlydata = Get_UserReadOnlyData(); + var error = Get_Error(readonlydata, args.Token); if (error < 0) return Get_Return(error); - var userdata = server.GetUserData({ PlayFabId: currentPlayerId, Keys: ["Mail"] }).Data; - if (!CheckNullOrEmpty(userdata.Mail)) + if (!CheckNullOrEmpty(readonlydata.Data.Mail)) { var table = Get_MissionTable(); var itemtable = Get_ItemTable(); - var urod = Get_JsonUserData(); - var mailjson = JSON.parse(userdata.Mail.Value); + var urod = Get_JsonUserData(readonlydata); + var mailjson = JSON.parse(readonlydata.Data.Mail.Value); var existmail = false; var getdate = new Date(args.RemainTime); for (var i in mailjson) @@ -457,7 +447,7 @@ handlers.Get_MailReward = function(args) if (existmail) { - server.UpdateUserData({ PlayFabId: currentPlayerId, Permission: "Public", Data: {"Mail": JSON.stringify(mailjson)} }); + Set_MailData(mailjson); Set_JsonUserData(urod); return Get_Return(error, { Mail: mailjson } ); } @@ -469,20 +459,20 @@ handlers.Get_MailReward = function(args) } handlers.Get_AllMail = function(args) { - var error = Get_Error(args.Token); + var readonlydata = Get_UserReadOnlyData(); + var error = Get_Error(readonlydata, args.Token); if (error < 0) return Get_Return(error); - var userdata = server.GetUserData({ PlayFabId: currentPlayerId, Keys: ["Mail"] }).Data; - if (!CheckNullOrEmpty(userdata.Mail)) + if (!CheckNullOrEmpty(readonlydata.Data.Mail)) { var table = Get_MissionTable(); var itemtable = Get_ItemTable(); - var urod = Get_JsonUserData(); - var mailjson = JSON.parse(userdata.Mail.Value); + var urod = Get_JsonUserData(readonlydata); + var mailjson = JSON.parse(readonlydata.Data.Mail.Value); for (var i in mailjson) Add_Item(table, itemtable, urod, mailjson[i].ItemID, mailjson[i].Amount); - server.UpdateUserData({ PlayFabId: currentPlayerId, Permission: "Public", Data: {"Mail": "[]"} }); + Set_MailData([]); Set_JsonUserData(urod); return Get_Return(error, { Mail: mailjson });