Browse Source

拍照:添加道具

zhaoyang 3 years ago
parent
commit
1f162ba225
34 changed files with 829 additions and 82 deletions
  1. 2 2
      FGUIProject/assets/DressUp/PhotographUI.xml
  2. 17 0
      FGUIProject/assets/DressUp/components/Button7.xml
  3. 33 0
      FGUIProject/assets/DressUp/components/ComSelect.xml
  4. 6 0
      FGUIProject/assets/DressUp/components/ListItem.xml
  5. BIN
      FGUIProject/assets/DressUp/images/dj_danxiaozj.png
  6. BIN
      FGUIProject/assets/DressUp/images/kp_dikuang_6.png
  7. BIN
      FGUIProject/assets/DressUp/images/kp_kprk_4.png
  8. 6 0
      FGUIProject/assets/DressUp/package.xml
  9. 20 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstItemSubType.cs
  10. 11 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstItemSubType.cs.meta
  11. 4 0
      GameClient/Assets/Game/HotUpdate/Constant/ConstItemType.cs
  12. 37 27
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  13. 2 0
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  14. 59 0
      GameClient/Assets/Game/HotUpdate/Data/PhotographDataManager.cs
  15. 11 0
      GameClient/Assets/Game/HotUpdate/Data/PhotographDataManager.cs.meta
  16. 11 0
      GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs
  17. 54 0
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  18. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ComSelect.cs
  19. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ComSelect.cs.meta
  20. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ListItem.cs
  21. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ListItem.cs.meta
  22. 4 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_PhotographUI.cs
  23. 1 0
      GameClient/Assets/Game/HotUpdate/GameGlobal.cs
  24. 4 0
      GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs
  25. 160 35
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs
  26. 12 12
      GameClient/Assets/Game/HotUpdate/Views/Log/LogView.cs
  27. 16 3
      GameClient/Assets/Game/Launcher/Xasset/AssetReleaser.cs
  28. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0!a.png
  29. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0.png
  30. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d!a.png
  31. 96 0
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d!a.png.meta
  32. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d.png
  33. 96 0
      GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d.png.meta
  34. BIN
      GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes

+ 2 - 2
FGUIProject/assets/DressUp/PhotographUI.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="1080,1920" overflow="scroll" opaque="false" scroll="both">
+<component size="1080,1920" overflow="hidden" opaque="false" scroll="both">
   <displayList>
     <component id="n1_yd72" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
-    <loader id="n4_myd4" name="loaBg" xy="433,229" size="50,50" autoSize="true"/>
+    <component id="n5_7dea" name="ComSelect" src="7dea4f" fileName="components/ComSelect.xml" xy="30,1174"/>
   </displayList>
 </component>

+ 17 - 0
FGUIProject/assets/DressUp/components/Button7.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="160,56" extention="Button">
+  <controller name="button" pages="0,up,1,down" selected="0"/>
+  <displayList>
+    <loader id="n2_ih75" name="icon" xy="0,0" size="160,56" url="ui://mbo439wbih7536" autoSize="true"/>
+    <text id="n1_ih75" name="title" xy="0,-2" size="160,56" fontSize="42" color="#fff7eb" align="center" vAlign="middle" autoSize="none" singleLine="true" text="礼服">
+      <relation target="" sidePair="width-width,height-height"/>
+    </text>
+    <image id="n4_ih75" name="n4" src="ih7535" fileName="images/sxsx_fgdian.png" xy="0,0">
+      <gearDisplay controller="button" pages="1"/>
+    </image>
+    <image id="n5_ih75" name="n5" src="ih7534" fileName="images/sxsx_dgdg.png" xy="49,1">
+      <gearDisplay controller="button" pages="1"/>
+    </image>
+  </displayList>
+  <Button mode="Radio"/>
+</component>

+ 33 - 0
FGUIProject/assets/DressUp/components/ComSelect.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="1020,746">
+  <controller name="c1" pages="0,,1,,2,,3,,4," selected="0"/>
+  <displayList>
+    <loader id="n5_7dea" name="n5" xy="0,73" size="1020,673" url="ui://mbo439wb7dea4b" fill="scaleFree"/>
+    <list id="n8_7dea" name="list" xy="33,115" size="953,595" layout="flow_hz" overflow="scroll" lineGap="40" colGap="50" defaultItem="ui://mbo439wb7dea4e">
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+    </list>
+    <component id="n9_7dea" name="n9" src="7dea4c" fileName="components/Button7.xml" xy="0,0" group="n14_7dea">
+      <Button title="背景" controller="c1" page="0"/>
+    </component>
+    <component id="n10_7dea" name="n10" src="7dea4c" fileName="components/Button7.xml" xy="180,0" group="n14_7dea">
+      <Button title="NPC" controller="c1" page="1"/>
+    </component>
+    <component id="n11_7dea" name="n11" src="7dea4c" fileName="components/Button7.xml" xy="360,0" group="n14_7dea">
+      <Button title="道具" controller="c1" page="2"/>
+    </component>
+    <component id="n12_7dea" name="n12" src="7dea4c" fileName="components/Button7.xml" xy="540,0" group="n14_7dea">
+      <Button title="边框" controller="c1" page="3"/>
+    </component>
+    <component id="n13_7dea" name="n13" src="7dea4c" fileName="components/Button7.xml" xy="720,0" group="n14_7dea">
+      <Button title="滤镜" controller="c1" page="4"/>
+    </component>
+    <group id="n14_7dea" name="n14" xy="0,0" size="880,56" advanced="true" layout="hz" colGap="20" excludeInvisibles="true"/>
+  </displayList>
+</component>

+ 6 - 0
FGUIProject/assets/DressUp/components/ListItem.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="200,300" overflow="hidden">
+  <displayList>
+    <loader id="n9_7dea" name="loaIcon" xy="0,0" size="200,300" aspect="true" url="ui://mbo439wb7dea4d" fill="scaleMatchWidth"/>
+  </displayList>
+</component>

BIN
FGUIProject/assets/DressUp/images/dj_danxiaozj.png


BIN
FGUIProject/assets/DressUp/images/kp_dikuang_6.png


BIN
FGUIProject/assets/DressUp/images/kp_kprk_4.png


+ 6 - 0
FGUIProject/assets/DressUp/package.xml

@@ -133,6 +133,12 @@
     <image id="oq7r46" name="hz_tzkuang.png" path="/images/"/>
     <image id="oq7r47" name="hz_tzkuang_1.png" path="/images/"/>
     <component id="be944a" name="PhotographUI.xml" path="/" exported="true"/>
+    <image id="7dea4b" name="kp_dikuang_6.png" path="/images/" scale="9grid" scale9grid="43,41,33,37"/>
+    <component id="7dea4c" name="Button7.xml" path="/components/"/>
+    <image id="7dea4d" name="dj_danxiaozj.png" path="/images/" atlas="alone_npot"/>
+    <component id="7dea4e" name="ListItem.xml" path="/components/"/>
+    <component id="7dea4f" name="ComSelect.xml" path="/components/"/>
+    <image id="7dea4g" name="kp_kprk_4.png" path="/images/" scale="9grid" scale9grid="52,90,104,180"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\DressUp" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 20 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstItemSubType.cs

@@ -0,0 +1,20 @@
+
+namespace GFGGame
+{
+    public class ConstItemSubType
+    {
+        /// <summary>
+        /// npc
+        /// </summary>
+        public const int NPC = 1;
+        /// <summary>
+        /// 拍照边框
+        /// </summary>
+        public const int BOREDR = 2;
+        /// <summary>
+        /// 拍照滤镜
+        /// </summary>
+        public const int EFFECT = 3;
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstItemSubType.cs.meta

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

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Constant/ConstItemType.cs

@@ -17,5 +17,9 @@ namespace GFGGame
         /// 卡牌
         /// </summary>
         public const int CARD = 200;
+        /// <summary>
+        /// 道具
+        /// </summary>
+        public const int ITEM = 300;
     }
 }

+ 37 - 27
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -10,7 +10,8 @@ namespace GFGGame
     {
         public static void Start()
         {
-            LoginProxy.SayHi((LoginResult result) => {
+            LoginProxy.SayHi((LoginResult result) =>
+            {
                 CheckShowLoginView();
             });
         }
@@ -26,23 +27,23 @@ namespace GFGGame
             string account = PlayerPrefs.GetString(GameConst.ACCOUNT_LAST_LOGIN_KEY, null);
             string password = PlayerPrefs.GetString(GameConst.PASSWORD_LAST_LOGIN_KEY, null);
             bool lastLoginIsVisitor = LocalCache.GetBool(GameConst.LAST_LOGIN_IS_VISITOR_KEY, false);
-            if(lastLoginIsVisitor)
+            if (lastLoginIsVisitor)
             {
                 long id = (long)PlayerPrefs.GetFloat(GameConst.VISITOR_ID_KEY, -1);
-                if(id >= 0)
+                if (id >= 0)
                 {
-                    if(doLogin)
+                    if (doLogin)
                     {
                         LoginProxy.LoginAsVisitor();
                     }
                     return true;
                 }
             }
-            else if(account != null && account.Length > 0)
+            else if (account != null && account.Length > 0)
             {
-                if(password != null && password.Length > 0)
+                if (password != null && password.Length > 0)
                 {
-                    if(doLogin)
+                    if (doLogin)
                     {
                         LoginProxy.Login(account, password);
                     }
@@ -56,19 +57,20 @@ namespace GFGGame
         {
             ViewManager.Hide<LoginInputView>();
             ViewManager.Hide<RegisterView>();
-            if(GameGlobal.isOfflineVisitor)
+            if (GameGlobal.isOfflineVisitor)
             {
                 GameProxy.ReqRoleInfo(GameGlobal.userId);
             }
-            else 
+            else
             {
                 User user = result.user;
                 GameGlobal.userId = user.id;
                 GameGlobal.userAge = user.age;
-                if(GameGlobal.isVisitor)
+                if (GameGlobal.isVisitor)
                 {
                     PlayerPrefs.SetFloat(GameConst.VISITOR_ID_KEY, GameGlobal.userId);
-                } else
+                }
+                else
                 {
                     PlayerPrefs.SetString(GameConst.ACCOUNT_LAST_LOGIN_KEY, user.account);
                     PlayerPrefs.SetString(GameConst.PASSWORD_LAST_LOGIN_KEY, user.password);
@@ -82,11 +84,13 @@ namespace GFGGame
 
         public static void OnLoginFail(LoginResult result)
         {
-            if(result.code == 107) {
+            if (result.code == 107)
+            {
                 string promptStr = "您属于未成年人,已被纳入防沉迷系统。每日22时至次日8时,本游戏将无法为未成年人用户提供游戏服务。";
                 Alert.Show(promptStr)
-                    .SetRightButton(true, "知道啦", (object data) => {
-                        
+                    .SetRightButton(true, "知道啦", (object data) =>
+                    {
+
                     });
             }
             else
@@ -95,7 +99,8 @@ namespace GFGGame
             }
         }
 
-        public static void CheckSpecialAccount(string account) {
+        public static void CheckSpecialAccount(string account)
+        {
             GameGlobal.antiAddiction = !(account.IndexOf("sygfg") == 0);
         }
 
@@ -116,11 +121,12 @@ namespace GFGGame
             GetSuitItemController.enable = false;
             DressUpMenuSuitDataManager.InitData();
             DressUpMenuItemDataManager.InitData();
-            if(!GameGlobal.isOfflineVisitor)
+            if (!GameGlobal.isOfflineVisitor)
             {
                 roleInfo = result.roleInfo;
                 bool rerult = AntiAddictionController.CheckAntiAddiction(roleInfo.onlineTimeSecs, roleInfo.onlineDurationSecs, roleInfo.onlineDurationSecsDay);
-                if(rerult){
+                if (rerult)
+                {
                     return;
                 }
                 ServerDataManager.SetServerTime(roleInfo.serverTime);
@@ -147,23 +153,25 @@ namespace GFGGame
 
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("CommonGame"));
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("Main"));
-            
-            if(GameGlobal.isOfflineVisitor)
+
+            if (GameGlobal.isOfflineVisitor)
             {
                 Alert.Show("离线体验可以选择跳过引导并获取所有衣服。")
-                    .SetLeftButton(true, "跳过引导", (object data) => {
+                    .SetLeftButton(true, "跳过引导", (object data) =>
+                    {
                         GameGlobal.skipGuide = true;
                         GMController.GetAllDressUpItem();
                         EnterGame();
                     })
-                    .SetRightButton(true, "体验引导", (object data) => {
+                    .SetRightButton(true, "体验引导", (object data) =>
+                    {
                         GameGlobal.skipGuide = false;
                         EnterGame();
                     });
             }
             else
             {
-                if(RoleDataManager.lvl >= 50)
+                if (RoleDataManager.lvl >= 50)
                 {
                     GameGlobal.skipGuide = true;
                 }
@@ -181,14 +189,16 @@ namespace GFGGame
             GameGlobal.skipGuide = false;
             RoleDataHandler.StopUpdate();
             CardDataManager.Clear();
-            if(logout)
+            PhotographDataManager.Instance.Clear();
+            if (logout)
             {
                 Logout();
             }
             ViewManager.Hide(ViewName.ROLE_INFO_VIEW);
             ViewManager.Hide(ViewName.MAINUI_VIEW);
             ViewManager.Show<LoginView>();
-            if(logout) {
+            if (logout)
+            {
                 ViewManager.Show<LoginInputView>();
             }
         }
@@ -207,14 +217,14 @@ namespace GFGGame
         private static void EnterGame()
         {
             ViewManager.Hide<LoginView>();
-            if(StoryDataManager.CheckOpenMainUI() || GameGlobal.skipGuide)
+            if (StoryDataManager.CheckOpenMainUI() || GameGlobal.skipGuide)
             {
                 ViewManager.Show(ViewName.MAINUI_VIEW);
             }
             else
             {
                 StoryDataManager.currentChapter = 1;
-                if(!StoryDataManager.CheckLevelPass(1, 1))
+                if (!StoryDataManager.CheckLevelPass(1, 1))
                 {
                     StoryController.ShowLevelView(StoryDataManager.currentChapter, 1);
                 }
@@ -234,7 +244,7 @@ namespace GFGGame
 
         public static void PrepareUpdateTreasure()
         {
-            if(!Timers.inst.Exists(UpdateTreasure))
+            if (!Timers.inst.Exists(UpdateTreasure))
             {
                 Timers.inst.Add(0.1f, 1, UpdateTreasure);
             }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs

@@ -62,6 +62,8 @@ namespace GFGGame
             {
                 CardDataManager.Add(itemID);
             }
+
+            PhotographDataManager.Instance.Add(itemID);
             if (sendToServer)
             {
                 PrepareUpdateToServer(itemData.id, itemData.num);

+ 59 - 0
GameClient/Assets/Game/HotUpdate/Data/PhotographDataManager.cs

@@ -0,0 +1,59 @@
+using System.Collections.Generic;
+
+namespace GFGGame
+{
+    public enum EnumPhotographType
+    {
+        BG,
+        NPC,
+        SCENE,
+        BORDER,
+        EFFECT
+    }
+    public class PhotographDataManager : SingletonBase<PhotographDataManager>
+    {
+        public List<int> listBgData = new List<int>();
+        public List<int> listNpcData = new List<int>();
+        public List<int> listSceneData = new List<int>();
+        public List<int> listBorderData = new List<int>();
+        public List<int> listEffectData = new List<int>();
+        public void Clear()
+        {
+            listBgData.Clear();
+            listNpcData.Clear();
+            listSceneData.Clear();
+            listBorderData.Clear();
+            listEffectData.Clear();
+        }
+        public void Add(int itemID)
+        {
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemID);
+            if (itemCfg.itemType == ConstItemType.DRESS_UP)
+            {
+                if (itemCfg.subType == ConstDressUpItemType.BEI_JING)
+                {
+                    if (listBgData.IndexOf(itemID) < 0) listBgData.Add(itemID);
+                }
+                else if (itemCfg.subType == ConstDressUpItemType.QIAN_JING || itemCfg.subType == ConstDressUpItemType.BEI_SHI || itemCfg.subType == ConstDressUpItemType.HUAN_JING)
+                {
+                    if (listSceneData.IndexOf(itemID) < 0) listSceneData.Add(itemID);
+                }
+            }
+            else if (itemCfg.itemType == ConstItemType.ITEM)
+            {
+                if (itemCfg.subType == ConstItemSubType.NPC)
+                {
+                    if (listNpcData.IndexOf(itemID) < 0) listNpcData.Add(itemID);
+                }
+                else if (itemCfg.subType == ConstItemSubType.BOREDR)
+                {
+                    if (listBorderData.IndexOf(itemID) < 0) listBorderData.Add(itemID);
+                }
+                else if (itemCfg.subType == ConstItemSubType.EFFECT)
+                {
+                    if (listEffectData.IndexOf(itemID) < 0) listEffectData.Add(itemID);
+                }
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Data/PhotographDataManager.cs.meta

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

+ 11 - 0
GameClient/Assets/Game/HotUpdate/DressUp/DressUpUtil.cs

@@ -162,6 +162,16 @@ namespace GFGGame
             assetDisposer.resPath = resPath;
         }
 
+        public static void ChangeAssetReleaser(GameObject gameObj, string resPath)
+        {
+            var assetDisposer = gameObj.GetComponent<AssetReleaser>();
+            if (assetDisposer == null)
+            {
+                assetDisposer = gameObj.AddComponent<AssetReleaser>();
+            }
+            assetDisposer.resPath = resPath;
+        }
+
         private static void updateLayerRes(ItemCfg itemCfg, GameObject parentObj, int layerId, bool isT, bool needSetMask, bool showAni = true)
         {
 
@@ -209,6 +219,7 @@ namespace GFGGame
             Sprite sp = GFGAsset.Load<Sprite>(resPath);
             spr.sprite = sp;
             spr.sortingOrder = sortingOrder;
+
             if (needSetMask)
             {
                 spr.maskInteraction = SpriteMaskInteraction.VisibleInsideMask;

+ 54 - 0
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -42,6 +42,60 @@ namespace GFGGame
             }
         }
 
+        public static void UpdatePhotographBgOrNpcOrBorder(GameObject sceneObj, EnumPhotographType type, int itemId)
+        {
+
+            string objName = "";
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
+            var resPath = ""; ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
+            if (type == EnumPhotographType.BG)
+            {
+                objName = "Bg/BgRes";
+                resPath = ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
+            }
+            else if (type == EnumPhotographType.NPC)
+            {
+                objName = "Npc/NpcRes";
+                resPath = ResPathUtil.GetNpcPicFPath(itemCfg.res);
+
+            }
+            else if (type == EnumPhotographType.BORDER)
+            {
+                objName = "Border/BorderRes";
+                resPath = ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
+
+            }
+
+
+            Transform tf = sceneObj.transform.Find(objName);
+            SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
+
+            DressUpUtil.ChangeAssetReleaser(tf.gameObject, resPath);
+            Sprite sp = GFGAsset.Load<Sprite>(resPath);
+            spr.sprite = sp;
+            spr.size = spr.sprite.bounds.size;//将节点设置为原图大小
+
+
+            if (type == EnumPhotographType.BG)
+            {
+                ItemTypeCfg typeCfg = ItemTypeCfgArray.Instance.GetCfg(ConstDressUpItemType.BEI_JING);
+                spr.sortingOrder = typeCfg.defaultLayer;
+            }
+
+            if (type == EnumPhotographType.BORDER) return;//边框不加碰撞盒
+
+            PhotographAddCollider(tf.gameObject);
+        }
+        public static void PhotographAddCollider(GameObject gameObject)
+        {
+            if (gameObject.GetComponent<PolygonCollider2D>() == null)
+            {
+                gameObject.AddComponent<PolygonCollider2D>();
+                gameObject.GetComponent<PolygonCollider2D>().isTrigger = true;
+                gameObject.GetComponent<PolygonCollider2D>().autoTiling = true;
+            }
+        }
+
         public static void UpdateRole(int[] equipDatas, GameObject sceneObj, bool needSetMask = false, int[] exceptTypes = null, bool showAni = true, GameObject parentObj = null)
         {
             Reset(sceneObj);

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ComSelect.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.DressUp
+{
+    public partial class UI_ComSelect
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GList m_list;
+        public const string URL = "ui://mbo439wb7dea4f";
+        public const string PACKAGE_NAME = "DressUp";
+        public const string RES_NAME = "ComSelect";
+        private static UI_ComSelect _proxy;
+
+        public static UI_ComSelect Create(GObject gObject = null)
+        {
+            var ui = new UI_ComSelect();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ComSelect Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComSelect();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_c1 = comp.GetController("c1");
+            m_list = (GList)comp.GetChild("list");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_list = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ComSelect.cs.meta

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ListItem.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.DressUp
+{
+    public partial class UI_ListItem
+    {
+        public GComponent target;
+        public GLoader m_loaIcon;
+        public const string URL = "ui://mbo439wb7dea4e";
+        public const string PACKAGE_NAME = "DressUp";
+        public const string RES_NAME = "ListItem";
+        private static UI_ListItem _proxy;
+
+        public static UI_ListItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ListItem();
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static UI_ListItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListItem();
+            }
+            var ui = _proxy;
+            if(gObject == null)
+            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            else
+            	ui.target =  (GComponent)gObject;
+            ui.Init(ui.target);
+            return ui;
+        }
+
+        public static void ProxyEnd()
+        {
+            if (_proxy != null)
+            {
+                _proxy.Dispose();
+            }
+        }
+
+        public static void ClearProxy()
+        {
+            ProxyEnd();
+            _proxy = null;
+        }
+
+        private void Init(GComponent comp)
+        {
+            m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaIcon = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_ListItem.cs.meta

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

+ 4 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/DressUp/UI_PhotographUI.cs

@@ -8,7 +8,7 @@ namespace UI.DressUp
     {
         public GComponent target;
         public GButton m_btnBack;
-        public GLoader m_loaBg;
+        public UI_ComSelect m_ComSelect;
         public const string URL = "ui://mbo439wbbe944a";
         public const string PACKAGE_NAME = "DressUp";
         public const string RES_NAME = "PhotographUI";
@@ -57,12 +57,13 @@ namespace UI.DressUp
         private void Init(GComponent comp)
         {
             m_btnBack = (GButton)comp.GetChild("btnBack");
-            m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_ComSelect = (UI_ComSelect)UI_ComSelect.Create(comp.GetChild("ComSelect"));
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_btnBack = null;
-            m_loaBg = null;
+            m_ComSelect.Dispose();
+            m_ComSelect = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 1 - 0
GameClient/Assets/Game/HotUpdate/GameGlobal.cs

@@ -20,6 +20,7 @@ namespace GFGGame
 
         //ET
         public static ET.Scene zoneScene;
+        public const string LoginAddress = "127.0.0.1:10002";
 
         public static void Init()
         {

+ 4 - 0
GameClient/Assets/Game/HotUpdate/Utils/ResPathUtil.cs

@@ -45,6 +45,10 @@ namespace GFGGame
         {
             return $"{TEXTURE_DIR_PATH}/Npc/PicF/{res}.{extName}";
         }
+        public static string GetPhotographFPath(string res, string extName = "png")
+        {
+            return $"{TEXTURE_DIR_PATH}/Photograph/{res}.{extName}";
+        }
         public static string GetFieldGuideIconPath(string res, string extName = "png")
         {
             return $"{TEXTURE_DIR_PATH}/FieldGuide/Icon/{res}.{extName}";

+ 160 - 35
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -1,5 +1,7 @@
 using FairyGUI;
 using System;
+using System.Collections;
+using System.Collections.Generic;
 using UI.DressUp;
 using UnityEngine;
 using UnityEngine.EventSystems;
@@ -13,6 +15,10 @@ namespace GFGGame
         private GameObject _sceneObject;
         private DressUpObjDataCache equipDataCache;
 
+        private List<int> _listData = null;//当前选择的资源数据
+        private List<int> equipRoleData = new List<int>();//当前穿戴的角色数据
+        // private List<int> equipSceneData = new List<int>();
+        private Dictionary<int, List<int>> equipSceneData = new Dictionary<int, List<int>>();//当前穿戴的场景数据
         protected override void OnInit()
         {
             base.OnInit();
@@ -22,6 +28,11 @@ namespace GFGGame
             isfullScreen = true;
 
             _ui.m_btnBack.onClick.Add(OnClickBtnBack);
+
+            _ui.m_ComSelect.m_list.itemRenderer = RenderListItem;
+            _ui.m_ComSelect.m_list.onClickItem.Add(OnListItemClick);
+            _ui.m_ComSelect.m_c1.onChanged.Add(OnContorllerChanged);
+
             _scenePrefab = GFGAsset.Load<GameObject>(ResPathUtil.GetPrefabPath("ScenePhotograph"));
 
         }
@@ -29,24 +40,93 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            // Debug.Log("Length:" + EquipDataCache.cacher.equipDatas.Length);
-            // Debug.Log("bgId:" + EquipDataCache.cacher.bgId);
-            // Debug.Log("suitId:" + EquipDataCache.cacher.suitId);
+
 
             if (_sceneObject == null)
             {
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
-                // _sceneObject.sortingOrder = 1000;
                 EquipDataCache.cacher.setSceneObj(_sceneObject);
             }
 
             equipDataCache = EquipDataCache.cacher;
-            UpdateBg();
+
+            _ui.m_ComSelect.m_c1.selectedIndex = 0;
+            RefreshList(EnumPhotographType.BG);
+            UpdateEquipData();
+
+            UpdateBgOrNpcOrBorder(EnumPhotographType.BG, equipDataCache.bgId);
             UpdateBody();
+            UpdateScene();
+            Timers.inst.Add(0.001f, 0, OnTimerListener);
+        }
+        /************************************************************UI界面*********************************************************/
+        private void OnContorllerChanged(EventContext context)
+        {
+            int index = _ui.m_ComSelect.m_c1.selectedIndex;
+            RefreshList((EnumPhotographType)index);
+        }
+        private void RefreshList(EnumPhotographType index)
+        {
+            _ui.m_ComSelect.m_list.numItems = 0;
+
+            switch (index)
+            {
+                case EnumPhotographType.BG:
+                    _listData = PhotographDataManager.Instance.listBgData;
+                    break;
+                case EnumPhotographType.NPC:
+                    _listData = PhotographDataManager.Instance.listNpcData;
+                    break;
+                case EnumPhotographType.SCENE:
+                    _listData = PhotographDataManager.Instance.listSceneData;
+                    break;
+                case EnumPhotographType.BORDER:
+                    _listData = PhotographDataManager.Instance.listBorderData;
+                    break;
+                case EnumPhotographType.EFFECT:
+                    _listData = PhotographDataManager.Instance.listEffectData;
+                    break;
+            }
+            _ui.m_ComSelect.m_list.numItems = _listData.Count;
+        }
+        private void RenderListItem(int index, GObject obj)
+        {
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_listData[index]);
+            string resPath = ResPathUtil.GetPhotographFPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
+
+            UI_ListItem item = UI_ListItem.Proxy(obj);
+            item.target.data = _listData[index];
+            item.m_loaIcon.url = resPath;
+        }
+        private void OnListItemClick(EventContext context)
+        {
+            int itemID = (int)((context.data as GObject).data);
+            EnumPhotographType type = (EnumPhotographType)_ui.m_ComSelect.m_c1.selectedIndex;
+            switch (type)
+            {
+                case EnumPhotographType.BG:
+                case EnumPhotographType.BORDER:
+                case EnumPhotographType.NPC:
+                    UpdateBgOrNpcOrBorder(type, itemID);
+                    break;
+
+                case EnumPhotographType.SCENE:
+                    if (!equipSceneData.ContainsKey(itemID))
+                    {
+                        equipSceneData.Add(itemID, new List<int>());
+                    }
+                    equipSceneData[itemID].Add(itemID);
+                    AddScene(itemID, equipSceneData[itemID].Count - 1);
+
+                    break;
+                case EnumPhotographType.EFFECT:
 
-            Timers.inst.Add(0.001f, 0, OnClickListener);
+                    break;
+            }
         }
-        private void OnClickListener(object param)
+        /************************************************************场景*********************************************************/
+
+        private void OnTimerListener(object param)
         {
             // Debug.Log("点击鼠标:" + Input.GetMouseButtonDown(0));
             if (Input.GetMouseButtonDown(0))
@@ -62,7 +142,6 @@ namespace GFGGame
                 //从摄像机发出到点击坐标的射线
                 RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
                 Vector2 pos = Input.mousePosition;
-                // Debug.Log("pos:" + pos);
 
                 if (hit.collider != null)
                 {
@@ -77,57 +156,82 @@ namespace GFGGame
                     }
                 }
             }
+            Debug.Log("触摸屏幕的手指个数:" + Input.touchCount);
+
+            if (Input.touchCount <= 0) { return; }
+            // for (var touch : Touch in Input.touches)
+            // {
+            if (Input.GetTouch(0).phase == TouchPhase.Began)
+            {
+                Debug.Log("触摸:" + "Began");
+            }
+            if (Input.GetTouch(0).phase == TouchPhase.Moved)
+            {
+                Debug.Log("触摸:" + "Moved");
+
+            }
+            if (Input.GetTouch(0).phase == TouchPhase.Stationary)
+            {
+
+                Debug.Log("触摸:" + "Stationary");
+            }
+            if (Input.GetTouch(0).phase == TouchPhase.Ended)
+            {
+                Debug.Log("触摸:" + "Ended");
+
+            }
         }
 
+
         //背景
-        private void UpdateBg()
+        private void UpdateBgOrNpcOrBorder(EnumPhotographType type, int itemId)
         {
-            Transform tf = _sceneObject.transform.Find("Bg");
-            SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(equipDataCache.bgId);
-            var resPath = ResPathUtil.GetDressUpPath(itemCfg.res, ItemUtil.GetItemResExt(itemCfg.itemType, itemCfg.subType));
-            Sprite sp = GFGAsset.Load<Sprite>(resPath);
-            DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
-            spr.sprite = sp;
 
-            int[] bgId = { equipDataCache.bgId };
-            GameObject obj = _sceneObject.transform.Find("Bg").gameObject;
-            SceneController.UpdateRole(bgId, _sceneObject, false, null, false, obj);
-            SetObjSize(obj.transform.GetChild(0).gameObject);
-        }
-        private void SetObjSize(GameObject obj)
-        {
-            obj.AddComponent<BoxCollider2D>();
+            SceneController.UpdatePhotographBgOrNpcOrBorder(_sceneObject, type, itemId);
         }
+
         //主角
         private void UpdateBody()
         {
 
-            // CustomSuitData suitSavedData = CustomSuitDataManager.GetCurrentSuitList();
-            int[] equipDatas = equipDataCache.equipDatas;
-            SceneController.UpdateRole(equipDatas, _sceneObject, false, null, false);
+            // int[] equipDatas = equipDataCache.equipDatas;
+            SceneController.UpdateRole(equipRoleData.ToArray(), _sceneObject, false, null, false);
             if (equipDataCache.IsSuitPic && equipDataCache.suitId > 0)
             {
                 SuitCfg suitCfg = SuitCfgArray.Instance.GetCfg(equipDataCache.suitId);
                 DressUpUtil.UpdateBody(suitCfg.picRes, _sceneObject);
             }
-        }
+            GameObject gameObject = _sceneObject.transform.Find("Role/Body").gameObject;
 
-        //合照NPC
-        private void UpdateNpc()
-        {
+            SceneController.PhotographAddCollider(gameObject);
 
         }
         //场景道具
         private void UpdateScene()
         {
-
+            ICollection keys = equipSceneData.Keys;
+            foreach (int key in keys)
+            {
+                for (int i = 0; i < equipSceneData[key].Count; i++)
+                {
+                    AddScene(key, i);
+                }
+            }
         }
-        //边框
-        private void UpdateBorder()
-        {
 
+        //场景添加道具
+        private void AddScene(int itemId, int index)
+        {
+            var gameObj = new GameObject(string.Format("{0}_{1}", itemId, index));
+            gameObj.transform.SetParent(_sceneObject.transform.Find("Scene"), false);
+            // SceneController.UpdateRole(itemId, _sceneObject, false, null, false, gameObj);
+            DressUpUtil.AddItem(itemId, _sceneObject, false, false, gameObj);
+            for (int i = 0; i < gameObj.transform.childCount; i++)
+            {
+                SceneController.PhotographAddCollider(gameObj.transform.GetChild(i).gameObject);
+            }
         }
+
         //滤镜效果
         private void UpdateEffect()
         {
@@ -136,6 +240,27 @@ namespace GFGGame
 
 
 
+        private void UpdateEquipData()
+        {
+            for (int i = 0; i < equipDataCache.equipDatas.Length; i++)
+            {
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(equipDataCache.equipDatas[i]);
+                if (itemCfg.subType == ConstDressUpItemType.QIAN_JING || itemCfg.subType == ConstDressUpItemType.BEI_SHI || itemCfg.subType == ConstDressUpItemType.HUAN_JING)
+                {
+                    if (!equipSceneData.ContainsKey(itemCfg.id))
+                    {
+                        equipSceneData.Add(itemCfg.id, new List<int>());
+                    }
+                    equipSceneData[itemCfg.id].Add(itemCfg.id);
+                }
+                else
+                {
+                    equipRoleData.Add(equipDataCache.equipDatas[i]);
+                }
+            }
+
+        }
+
         private void OnClickBtnBack()
         {
             this.Hide();

+ 12 - 12
GameClient/Assets/Game/HotUpdate/Views/Log/LogView.cs

@@ -27,7 +27,7 @@ namespace GFGGame
 
             _ui.m_btnClear.onClick.Add(this.OnClickBtnClear);
             _ui.m_btnClose.onClick.Add(this.Hide);
-            
+
         }
 
         protected override void OnShown()
@@ -35,42 +35,42 @@ namespace GFGGame
             base.OnShown();
             _ui.m_c1.selectedIndex = 2;
         }
-       
-        private void RenderListLogItem(int index,GObject obj)
+
+        private void RenderListLogItem(int index, GObject obj)
         {
             UI_ListLogItem item = UI_ListLogItem.Proxy(obj);
             string[] msg = (_ui.m_listLog.data as List<string>)[index].Split('@');
-            item.m_txtLog.text = StringUtil.GetColorText(msg[1],msg[0]=="error"? "#FF0000": "#8F6129");
+            item.m_txtLog.text = StringUtil.GetColorText(msg[1], msg[0] == "error" ? "#FF0000" : "#8F6129");
             item.target.height = item.m_txtLog.height;
             UI_ListLogItem.ProxyEnd();
         }
         private void OnChangeC1()
         {
-            _ui.m_listLog.data =this. GetMsgList(_ui.m_c1.selectedIndex);
+            _ui.m_listLog.data = this.GetMsgList(_ui.m_c1.selectedIndex);
             _ui.m_listLog.numItems = (_ui.m_listLog.data as List<string>).Count;
-            if (_ui.m_listLog.numItems > 0) _ui.m_listLog.ScrollToView(_ui.m_listLog.numItems-1);
+            if (_ui.m_listLog.numItems > 0) _ui.m_listLog.ScrollToView(_ui.m_listLog.numItems - 1);
 
         }
         private List<string> GetMsgList(int index)
         {
-            List<string> list= new List<string>();
-            if (index == 0 && LogController.Instance.msgDic.ContainsKey(LogController._all)==true)
+            List<string> list = new List<string>();
+            if (index == 0 && LogController.Instance.msgDic.ContainsKey(LogController._all) == true)
             {
                 list = LogController.Instance.msgDic[LogController._all];
             }
-            else if(index==1 && LogController.Instance.msgDic.ContainsKey(LogController._log) == true)
+            else if (index == 1 && LogController.Instance.msgDic.ContainsKey(LogController._log) == true)
             {
                 list = LogController.Instance.msgDic[LogController._log];
 
             }
-            else if(index == 2&& LogController.Instance.msgDic.ContainsKey(LogController._error) == true)
+            else if (index == 2 && LogController.Instance.msgDic.ContainsKey(LogController._error) == true)
             {
                 list = LogController.Instance.msgDic[LogController._error];
             }
 
             return list;
         }
-      private void OnClickBtnClear()
+        private void OnClickBtnClear()
         {
             int index = _ui.m_c1.selectedIndex;
             if (index == 0 && LogController.Instance.msgDic.ContainsKey(LogController._all) == true)
@@ -79,7 +79,7 @@ namespace GFGGame
             }
             else if (index == 1 && LogController.Instance.msgDic.ContainsKey(LogController._log) == true)
             {
-                 LogController.Instance.msgDic[LogController._log].Clear();
+                LogController.Instance.msgDic[LogController._log].Clear();
             }
             else if (index == 2 && LogController.Instance.msgDic.ContainsKey(LogController._error) == true)
             {

+ 16 - 3
GameClient/Assets/Game/Launcher/Xasset/AssetReleaser.cs

@@ -6,14 +6,27 @@ namespace GFGGame
     public class AssetReleaser : MonoBehaviour
     {
 
-        public string resPath;
+        private string _resPath;
+        public string resPath
+        {
+            get
+            {
+                return _resPath;
+            }
+            set
+            {
+                if (_resPath == value) return;
+                this.OnDestroy();
+                _resPath = value;
+            }
+        }
         private void OnDestroy()
         {
-            if(!string.IsNullOrEmpty(resPath))
+            if (!string.IsNullOrEmpty(resPath))
             {
                 GFGAsset.Release(resPath);
             }
+            // resPath = string.Empty;
         }
-
     }
 }

BIN
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas0.png


BIN
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: fe188f29e6cf1474c80f78308638cef3
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d.png


+ 96 - 0
GameClient/Assets/ResIn/UI/DressUp/DressUp_atlas_7dea4d.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: c932c1bdfd00f6a4985d933ca6550b8c
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/DressUp/DressUp_fui.bytes