From ad52b4b63958aa02afc5b61ed39afaebea8842a3 Mon Sep 17 00:00:00 2001 From: Ino Date: Sat, 28 Dec 2024 13:54:50 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=94=EC=8A=A4=ED=8A=AC=20=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EB=B8=94=20=EC=B6=94=EA=B0=80,=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=EC=97=90=EC=84=9C=20=EC=BA=90=EB=A6=AD=ED=84=B0=20?= =?UTF-8?q?=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0,=20=EC=84=9C=EB=B2=84=20?= =?UTF-8?q?=EC=9E=A5=EC=B0=A9=EC=97=90=20=EC=BD=94=EC=8A=A4=ED=8A=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddressableAssetSettings.asset | 2 +- Assets/ResWork/Table/Export/CostumeList.json | 26 + .../Table/Export/CostumeList.json.meta | 7 + Assets/ResWork/Table/table_costumelist.xls | Bin 0 -> 32768 bytes .../ResWork/Table/table_costumelist.xls.meta | 7 + Assets/ResWork/UIPrefabs/Title/Tables.prefab | 14 + Assets/Res_Addr/PC/Ai01.prefab | 8174 +++++++++++++++++ Assets/Res_Addr/PC/Ai01.prefab.meta | 8 + .../Script/Character/PC/PCCostumeSetting.cs | 9 - Assets/Script/Info/PCInfo.cs | 7 +- Assets/Script/Server/ServerClass.cs | 1 + Assets/Script/Table/PC/table_costumelist.cs | 52 + .../PC/table_costumelist.cs.meta} | 2 +- Assets/Script/Util/MyEnum.cs | 2 +- Assets/Script/zSettings/SettingsMain.cs | 2 +- 15 files changed, 8297 insertions(+), 16 deletions(-) create mode 100644 Assets/ResWork/Table/Export/CostumeList.json create mode 100644 Assets/ResWork/Table/Export/CostumeList.json.meta create mode 100644 Assets/ResWork/Table/table_costumelist.xls create mode 100644 Assets/ResWork/Table/table_costumelist.xls.meta create mode 100644 Assets/Res_Addr/PC/Ai01.prefab create mode 100644 Assets/Res_Addr/PC/Ai01.prefab.meta delete mode 100644 Assets/Script/Character/PC/PCCostumeSetting.cs create mode 100644 Assets/Script/Table/PC/table_costumelist.cs rename Assets/Script/{Character/PC/PCCostumeSetting.cs.meta => Table/PC/table_costumelist.cs.meta} (83%) diff --git a/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Assets/AddressableAssetsData/AddressableAssetSettings.asset index 01395983d..4b95ffadc 100644 --- a/Assets/AddressableAssetsData/AddressableAssetSettings.asset +++ b/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -15,7 +15,7 @@ MonoBehaviour: m_DefaultGroup: 209441e030e4de748ac5f5c7a50771c0 m_currentHash: serializedVersion: 2 - Hash: e4e2986d535085f1b60f2c3ee39af48a + Hash: d008caf20abf3216730826d7c8eb0df2 m_OptimizeCatalogSize: 0 m_BuildRemoteCatalog: 1 m_BundleLocalCatalog: 0 diff --git a/Assets/ResWork/Table/Export/CostumeList.json b/Assets/ResWork/Table/Export/CostumeList.json new file mode 100644 index 000000000..cdf89cbf4 --- /dev/null +++ b/Assets/ResWork/Table/Export/CostumeList.json @@ -0,0 +1,26 @@ +[ + { + "n_CostumeID": "코스튬ID", + "s_Image": "일러스트", + "s_Prefab": "프리팹", + "exception": "참고용 텍스트" + }, + { + "n_CostumeID": "110001", + "s_Image": "01 Ai 01", + "s_Prefab": "Ai01", + "exception": "아이 교복" + }, + { + "n_CostumeID": "110002", + "s_Image": "01 Ai 02", + "s_Prefab": "Ai02", + "exception": "아이 비키니" + }, + { + "n_CostumeID": "110003", + "s_Image": "01 Ai 03", + "s_Prefab": "Ai03", + "exception": "아이 파자마" + } +] \ No newline at end of file diff --git a/Assets/ResWork/Table/Export/CostumeList.json.meta b/Assets/ResWork/Table/Export/CostumeList.json.meta new file mode 100644 index 000000000..a9a37095f --- /dev/null +++ b/Assets/ResWork/Table/Export/CostumeList.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6ea8217e5232f0d4280e8125bdafb1a5 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/Table/table_costumelist.xls b/Assets/ResWork/Table/table_costumelist.xls new file mode 100644 index 0000000000000000000000000000000000000000..b68633d398163d1801dba124a243e55df8ef8240 GIT binary patch literal 32768 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

wJ2)*47+jl$HH3mLz0<6A-bbI(4EMzhRrr@YCK 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 UpYiJh // PC var pcid = sdata.Get_EqiupmentEquip(eItem.PC); var pctable = table_classconfig.Ins.Get_Data_orNull(pcid); - var pcprefab = "MainPC"; - AddrResourceMgr.Ins.LoadObject($"Assets/Res_Addr/PC/{pcprefab}.prefab", handle => + var costumeid = sdata.Get_EqiupmentEquip(eItem.PCCostume); + var costumetable = table_costumelist.Ins.Get_Data_orNull(costumeid); + AddrResourceMgr.Ins.LoadObject($"Assets/Res_Addr/PC/{costumetable.s_Prefab}.prefab", handle => { if (handle.IsDone && handle.Status == AsyncOperationStatus.Succeeded) { @@ -22,7 +23,7 @@ public class PCInfo : MonoBehaviourSingletonTemplate AddrResourceMgr.Ins.Set_AddressableReleaseSelf(pc.gameObject); pc.Set(_IsEnemy, null, sdata, pcid, true); pc.Set_MyPet(null); - ActorInfo.Ins.Add_Actor(pc, _IsEnemy ? eRole.EnemyPC : eRole.PC, 0, pcprefab); + ActorInfo.Ins.Add_Actor(pc, _IsEnemy ? eRole.EnemyPC : eRole.PC, 0, costumetable.s_Prefab); var chapter = curMapData.n_MapID; // Pets -> 2024. 9. 21 펫은 한 마리로 변경 diff --git a/Assets/Script/Server/ServerClass.cs b/Assets/Script/Server/ServerClass.cs index c10be4f3e..e8756106f 100644 --- a/Assets/Script/Server/ServerClass.cs +++ b/Assets/Script/Server/ServerClass.cs @@ -2269,6 +2269,7 @@ public class SD_Equip Equip = new Dictionary { [eItem.PC] = table_GlobalValue.Ins.Get_Int("n_FirstClassID"), + [eItem.PCCostume] = 110001, // table_GlobalValue.Ins.Get_Int("n_FirstPCCostumeID"), [eItem.Weapon] = 0, [eItem.WeaponCostume] = 0, [eItem.Armor] = 0, diff --git a/Assets/Script/Table/PC/table_costumelist.cs b/Assets/Script/Table/PC/table_costumelist.cs new file mode 100644 index 000000000..622468011 --- /dev/null +++ b/Assets/Script/Table/PC/table_costumelist.cs @@ -0,0 +1,52 @@ +using CodeStage.AntiCheat.ObscuredTypes; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; + +[Serializable] +public class CostumeListTableData : TableDataBase +{ + ObscuredInt _CostumeID; + public int n_CostumeID + { + get { return _CostumeID; } + set { _CostumeID = value; _CostumeID.RandomizeCryptoKey(); } + } // Ŭ ID + + public string s_Image, s_Prefab; + + public override string Get_Name() { return table_itemlist.Ins.Get_ItemName(n_CostumeID); } +} + +public class table_costumelist : table_missionbase +{ + public static table_costumelist Ins; + List tableDatas; + Dictionary dic_Data = new Dictionary(); + + protected override void Awake() + { + base.Awake(); + Ins = this; + + // TODO ȣ : Ƿ json ó (Ŀ ) + int startIndex = json_last.IndexOf(","); // ù ° ü + int endIndex = json_last.IndexOf(",") + 1; // ù ° ü + json_last = json_last.Remove(startIndex, endIndex - startIndex); + } + + protected override void Start() + { + tableDatas = JsonConvert.DeserializeObject>(json_last); + for (int i = 0; i < Get_DataList().Count; i++) + { + var temp = Get_DataList()[i]; + dic_Data.Add(temp.n_CostumeID, temp); + } + + base.Start(); + } + + public CostumeListTableData Get_Data_orNull(int id) { return dic_Data[id]; } + public List Get_DataList() { return tableDatas; } +} \ No newline at end of file diff --git a/Assets/Script/Character/PC/PCCostumeSetting.cs.meta b/Assets/Script/Table/PC/table_costumelist.cs.meta similarity index 83% rename from Assets/Script/Character/PC/PCCostumeSetting.cs.meta rename to Assets/Script/Table/PC/table_costumelist.cs.meta index 385fee2b5..fdb0cefb4 100644 --- a/Assets/Script/Character/PC/PCCostumeSetting.cs.meta +++ b/Assets/Script/Table/PC/table_costumelist.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 100b8ac30f1e90c42a6579ed6b552453 +guid: 3dee5d3380937844d9e043b9cf10c31d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Script/Util/MyEnum.cs b/Assets/Script/Util/MyEnum.cs index 4c2a34dd5..04379d95f 100644 --- a/Assets/Script/Util/MyEnum.cs +++ b/Assets/Script/Util/MyEnum.cs @@ -233,7 +233,7 @@ public enum eItem // 뽑기권 AllGambleTicket, WeaponTicket, RingTicket, NeckTicket, BootsTicket, FairyTicket, MagicTicket, PetTicket, Exp, - PC, Weapon, Armor, Helmet, Extra, Necklace, Ring, + PC, PCCostume, Weapon, Armor, Helmet, Extra, Necklace, Ring, Fairy, WeaponCostume, Pet, Farmer, Book, Page, Food, Seed, Title, Inven, Pass, Potion, Relic, Heart, MobDropItem, diff --git a/Assets/Script/zSettings/SettingsMain.cs b/Assets/Script/zSettings/SettingsMain.cs index 1d1fd04f1..5981c6049 100644 --- a/Assets/Script/zSettings/SettingsMain.cs +++ b/Assets/Script/zSettings/SettingsMain.cs @@ -47,7 +47,7 @@ public class SettingsMain : MonoBehaviourSingletonTemplate if (pcdata != null) { - AddrResourceMgr.Ins.LoadObject("Assets/Res_Addr/PC/MainPC.prefab", handle => + AddrResourceMgr.Ins.LoadObject("Assets/Res_Addr/PC/Ai01.prefab", handle => { m_Actor = DSUtil.Get_Clone(handle.Result); m_Actor.Set(false, null, new ServerData(), pcdata.n_ClassID, false);