Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master' into ios

ios 1 жил өмнө
parent
commit
f5da9182b1
49 өөрчлөгдсөн 690 нэмэгдсэн , 61 устгасан
  1. 2 0
      GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs
  2. 8 1
      GameClient/Assets/Game/HotUpdate/Effect/EffectUI.cs
  3. 18 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComScoreResult.cs
  4. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightSingleScoreUI.cs
  5. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightTargetScoreUI.cs
  6. 8 0
      GameClient/Assets/Game/HotUpdate/GameConfig.cs
  7. 3 3
      GameClient/Assets/Game/HotUpdate/Sound/MusicManager.cs
  8. 3 3
      GameClient/Assets/Game/HotUpdate/Sound/SoundManager.cs
  9. 3 3
      GameClient/Assets/Game/HotUpdate/Sound/VoiceManager.cs
  10. 17 8
      GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs
  11. 45 7
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs
  12. 48 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs
  13. 3 3
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/SettingView.cs
  14. 13 9
      GameClient/Assets/Game/Launcher/LauncherConfig.cs
  15. 8 11
      GameClient/Assets/Game/Launcher/LauncherController.cs
  16. 19 9
      GameClient/Assets/Game/Launcher/Version/VersionController.cs
  17. BIN
      GameClient/Assets/ResIn/UI/Card/Card_fui.bytes
  18. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png
  19. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0.png
  20. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png
  21. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png
  22. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png
  23. 120 0
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png.meta
  24. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png
  25. 120 0
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png.meta
  26. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_11!a.png
  27. 120 0
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_11!a.png.meta
  28. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_11.png
  29. 120 0
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_11.png.meta
  30. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2!a.png
  31. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png
  32. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png
  33. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png
  34. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4!a.png
  35. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_4.png
  36. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png
  37. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png
  38. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png
  39. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png
  40. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png
  41. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png
  42. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png
  43. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png
  44. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9!a.png
  45. BIN
      GameClient/Assets/ResIn/UI/Main/Main_atlas0_9.png
  46. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes
  47. BIN
      GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0!a.png
  48. BIN
      GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0.png
  49. BIN
      GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_fui.bytes

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

@@ -12,6 +12,8 @@ namespace GFGGame
     public class CardDataManager
     {
         private static Dictionary<int, Dictionary<int, CardData>> _cardDicByType = new Dictionary<int, Dictionary<int, CardData>>();
+        public static int CardResInitWidth = 1440;
+        public static int  CardResInitHight = 1920;
 
         public static Dictionary<int, Dictionary<int, int>> _selectList = new Dictionary<int, Dictionary<int, int>>();
         public static List<int> _selectRoleList = new List<int>();

+ 8 - 1
GameClient/Assets/Game/HotUpdate/Effect/EffectUI.cs

@@ -30,11 +30,18 @@ namespace GFGGame
                 return;
             }
             _gameObject.transform.localScale = new Vector3(scale, scale, scale);
+
             _wrapper = new GoWrapper(_gameObject);
             holder.SetNativeObject(_wrapper);
+            var obj = _gameObject.GetComponent<BoxCollider2D>();
+            if (obj != null) {
+                CardDataManager.CardResInitWidth = (int)(obj.size.x * 100);
+                CardDataManager.CardResInitHight = (int)(obj.size.y * 100);
+                holder.x = CardDataManager.CardResInitWidth / 2 - obj.offset.x * 100;
+                holder.y = CardDataManager.CardResInitHight / 2 - obj.offset.y * 100;
+            }
         }
 
-
         public void Release()
         {
             Released = true;

+ 18 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_ComScoreResult.cs

@@ -9,7 +9,9 @@ namespace UI.Main
         public GComponent target;
         public Controller m_c1;
         public GGraph m_holderResult;
+        public GImage m_paopao;
         public GLoader m_loaPart;
+        public GLoader m_evaluatext;
         public GGraph m_holderNormal;
         public GGraph m_holderHigh;
         public GGraph m_holderCircle;
@@ -21,8 +23,11 @@ namespace UI.Main
         public GTextField m_txtCount0;
         public GTextField m_txtCount1;
         public GTextField m_txtCount2;
-        public GLoader m_evaluatext;
         public GGroup m_grpResult;
+        public GGraph m_ppEffect;
+        public GGraph m_starEffect;
+        public GGraph m_starEffect2;
+        public GGraph m_starEffect3;
         public Transition m_t0;
         public Transition m_t1;
         public const string URL = "ui://mfvz4q8kvuz5bi";
@@ -74,7 +79,9 @@ namespace UI.Main
         {
             m_c1 = comp.GetController("c1");
             m_holderResult = (GGraph)comp.GetChild("holderResult");
+            m_paopao = (GImage)comp.GetChild("paopao");
             m_loaPart = (GLoader)comp.GetChild("loaPart");
+            m_evaluatext = (GLoader)comp.GetChild("evaluatext");
             m_holderNormal = (GGraph)comp.GetChild("holderNormal");
             m_holderHigh = (GGraph)comp.GetChild("holderHigh");
             m_holderCircle = (GGraph)comp.GetChild("holderCircle");
@@ -86,8 +93,11 @@ namespace UI.Main
             m_txtCount0 = (GTextField)comp.GetChild("txtCount0");
             m_txtCount1 = (GTextField)comp.GetChild("txtCount1");
             m_txtCount2 = (GTextField)comp.GetChild("txtCount2");
-            m_evaluatext = (GLoader)comp.GetChild("evaluatext");
             m_grpResult = (GGroup)comp.GetChild("grpResult");
+            m_ppEffect = (GGraph)comp.GetChild("ppEffect");
+            m_starEffect = (GGraph)comp.GetChild("starEffect");
+            m_starEffect2 = (GGraph)comp.GetChild("starEffect2");
+            m_starEffect3 = (GGraph)comp.GetChild("starEffect3");
             m_t0 = comp.GetTransition("t0");
             m_t1 = comp.GetTransition("t1");
         }
@@ -95,7 +105,9 @@ namespace UI.Main
         {
             m_c1 = null;
             m_holderResult = null;
+            m_paopao = null;
             m_loaPart = null;
+            m_evaluatext = null;
             m_holderNormal = null;
             m_holderHigh = null;
             m_holderCircle = null;
@@ -107,8 +119,11 @@ namespace UI.Main
             m_txtCount0 = null;
             m_txtCount1 = null;
             m_txtCount2 = null;
-            m_evaluatext = null;
             m_grpResult = null;
+            m_ppEffect = null;
+            m_starEffect = null;
+            m_starEffect2 = null;
+            m_starEffect3 = null;
             m_t0 = null;
             m_t1 = null;
             if(disposeTarget && target != null)

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightSingleScoreUI.cs

@@ -8,11 +8,13 @@ namespace UI.Main
     {
         public GComponent target;
         public GLoader m_bg;
+        public GGraph m_bgEffect;
         public GGraph m_holder;
         public UI_ComClick m_comClick;
         public UI_ProgressBar1 m_proScore;
         public GButton m_btnSpeedUp;
         public GLoader m_btnBack;
+        public Transition m_t0;
         public const string URL = "ui://mfvz4q8k8xpg3x";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryFightSingleScoreUI";
@@ -61,15 +63,18 @@ namespace UI.Main
         private void Init(GComponent comp)
         {
             m_bg = (GLoader)comp.GetChild("bg");
+            m_bgEffect = (GGraph)comp.GetChild("bgEffect");
             m_holder = (GGraph)comp.GetChild("holder");
             m_comClick = (UI_ComClick)UI_ComClick.Create(comp.GetChild("comClick"));
             m_proScore = (UI_ProgressBar1)UI_ProgressBar1.Create(comp.GetChild("proScore"));
             m_btnSpeedUp = (GButton)comp.GetChild("btnSpeedUp");
             m_btnBack = (GLoader)comp.GetChild("btnBack");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_bg = null;
+            m_bgEffect = null;
             m_holder = null;
             m_comClick.Dispose();
             m_comClick = null;
@@ -77,6 +82,7 @@ namespace UI.Main
             m_proScore = null;
             m_btnSpeedUp = null;
             m_btnBack = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryFightTargetScoreUI.cs

@@ -8,6 +8,7 @@ namespace UI.Main
     {
         public GComponent target;
         public GLoader m_bg;
+        public GGraph m_bgEffect;
         public GGraph m_holder;
         public UI_ComClick m_comClick;
         public GLoader m_btnBack;
@@ -21,6 +22,7 @@ namespace UI.Main
         public GGraph m_effReduceScore;
         public Transition m_t1;
         public Transition m_t2;
+        public Transition m_t3;
         public const string URL = "ui://mfvz4q8k8xpg3w";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryFightTargetScoreUI";
@@ -69,6 +71,7 @@ namespace UI.Main
         private void Init(GComponent comp)
         {
             m_bg = (GLoader)comp.GetChild("bg");
+            m_bgEffect = (GGraph)comp.GetChild("bgEffect");
             m_holder = (GGraph)comp.GetChild("holder");
             m_comClick = (UI_ComClick)UI_ComClick.Create(comp.GetChild("comClick"));
             m_btnBack = (GLoader)comp.GetChild("btnBack");
@@ -82,10 +85,12 @@ namespace UI.Main
             m_effReduceScore = (GGraph)comp.GetChild("effReduceScore");
             m_t1 = comp.GetTransition("t1");
             m_t2 = comp.GetTransition("t2");
+            m_t3 = comp.GetTransition("t3");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_bg = null;
+            m_bgEffect = null;
             m_holder = null;
             m_comClick.Dispose();
             m_comClick = null;
@@ -103,6 +108,7 @@ namespace UI.Main
             m_effReduceScore = null;
             m_t1 = null;
             m_t2 = null;
+            m_t3 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 8 - 0
GameClient/Assets/Game/HotUpdate/GameConfig.cs

@@ -8,6 +8,14 @@ namespace GFGGame
     public class GameConfig
     {
 
+        public static string SOUND_KEY = "sound";
+        public static string MUSIC_KEY = "music";
+        public static string VOICE_KEY = "voice";
+
+        public static string SOUND_VOLUMN_KEY = "sound_volumn";
+        public static string MUSIC_VOLUMN_KEY = "music_volumn";
+        public static string VOICE_VOLUMN_KEY = "voice_volumn";
+
         public static string LoginAddress;
         public static string PlatformName;
         public static string logApiReportUrl;

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Sound/MusicManager.cs

@@ -38,7 +38,7 @@ namespace GFGGame
                     {
                         Stop();
                     }
-                    LocalCache.SetBool(LauncherConfig.MUSIC_KEY, _isOn);
+                    LocalCache.SetBool(GameConfig.MUSIC_KEY, _isOn);
                 }
             }
         }
@@ -48,8 +48,8 @@ namespace GFGGame
         {
             player = this.gameObject.AddComponent<AudioSource>();
             player.loop = true;
-            isOn = LocalCache.GetBool(LauncherConfig.MUSIC_KEY, true);
-            settingVolumn = LocalCache.GetFloat(LauncherConfig.MUSIC_VOLUMN_KEY, 1.0f);
+            isOn = LocalCache.GetBool(GameConfig.MUSIC_KEY, true);
+            settingVolumn = LocalCache.GetFloat(GameConfig.MUSIC_VOLUMN_KEY, 1.0f);
             player.volume = settingVolumn;
         }
 

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Sound/SoundManager.cs

@@ -35,7 +35,7 @@ namespace GFGGame
                         GRoot.inst.soundVolume = 0;
                         Stop();
                     }
-                    LocalCache.SetBool(LauncherConfig.SOUND_KEY, _isOn);
+                    LocalCache.SetBool(GameConfig.SOUND_KEY, _isOn);
                 }
             }
         }
@@ -43,8 +43,8 @@ namespace GFGGame
         private void Awake()
         {
             player = this.gameObject.AddComponent<AudioSource>();
-            isOn = LocalCache.GetBool(LauncherConfig.SOUND_KEY, true);
-            player.volume = LocalCache.GetFloat(LauncherConfig.SOUND_VOLUMN_KEY, 1.0f);
+            isOn = LocalCache.GetBool(GameConfig.SOUND_KEY, true);
+            player.volume = LocalCache.GetFloat(GameConfig.SOUND_VOLUMN_KEY, 1.0f);
         }
 
         private void Start()

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Sound/VoiceManager.cs

@@ -35,7 +35,7 @@ namespace GFGGame
                         //player.volume = 0;
                         Stop();
                     }
-                    LocalCache.SetBool(LauncherConfig.VOICE_KEY, _isOn);
+                    LocalCache.SetBool(GameConfig.VOICE_KEY, _isOn);
                 }
             }
         }
@@ -46,8 +46,8 @@ namespace GFGGame
             player.priority = 256;
             //设置这个声音会大一些
             player.spatialBlend = 1f;
-            isOn = LocalCache.GetBool(LauncherConfig.VOICE_KEY, true);
-            player.volume = LocalCache.GetFloat(LauncherConfig.VOICE_VOLUMN_KEY, 1.0f);
+            isOn = LocalCache.GetBool(GameConfig.VOICE_KEY, true);
+            player.volume = LocalCache.GetFloat(GameConfig.VOICE_VOLUMN_KEY, 1.0f);
         }
 
         public void LoadRes(string path)

+ 17 - 8
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -60,8 +60,6 @@ namespace GFGGame
         private float _cardScale = 0.8f;
         private bool showCard = false;
         private bool playAni = false;
-        private const int _cardResInitWidth = 1440;
-        private const int _cardResInitHight = 1920;
 
         private Vector2 comCardImgResInitSize;
         private Vector2 comCardImgResTargetSize;
@@ -200,8 +198,8 @@ namespace GFGGame
             playAni = false;
 
             float imgInitHight = _ui.target.height - 570;//UI界面上小图时的高度
-            float imgIniWidth = _cardResInitWidth * imgInitHight / _cardResInitHight;//UI界面上小图时的宽度
-            _cardScale = imgIniWidth < _ui.target.width ? _ui.target.width / _cardResInitWidth : imgInitHight / _cardResInitHight;
+            float imgIniWidth = CardDataManager.CardResInitWidth * imgInitHight / CardDataManager.CardResInitHight;//UI界面上小图时的宽度
+            _cardScale = imgIniWidth < _ui.target.width ? _ui.target.width / CardDataManager.CardResInitWidth : imgInitHight / CardDataManager.CardResInitHight;
             comCardImgResInitSize = Vector2.zero;
             comCardImgResTargetSize = Vector2.zero;
 
@@ -364,8 +362,17 @@ namespace GFGGame
                 await LoadManager.Instance.CheckResExsitedOrDownload(resPath);
                 _effectUI1 = new EffectUI();
                 _effectUI1.Reset(_ui.m_comCard.m_comCardHolder.m_holder, resName, resName, 100, EffectUIType.Card);
+
+
+                _ui.m_comCard.m_comCardHolder.target.width = CardDataManager.CardResInitWidth;
+                _ui.m_comCard.m_comCardHolder.target.height = CardDataManager.CardResInitHight;
+
                 _ui.m_c1.selectedIndex = 1;
                 _ui.m_comCard.target.scrollPane.SetPercX(0.5f, false);
+
+                float imgInitHight = _ui.target.height - 570;//UI界面上小图时的高度
+                float imgIniWidth = CardDataManager.CardResInitWidth * imgInitHight / CardDataManager.CardResInitHight;//UI界面上小图时的宽度
+                _cardScale = imgIniWidth < _ui.target.width ? _ui.target.width / CardDataManager.CardResInitWidth : imgInitHight / CardDataManager.CardResInitHight;
                 _ui.m_comCard.target.SetScale(_cardScale, _cardScale);
             }
             else
@@ -376,8 +383,9 @@ namespace GFGGame
                     GLoader loaCard = _ui.m_comImgCard.m_ComCardImgRes.m_loaCard;
                     loaCard.url = ResPathUtil.GetCardPath(_cardData.resources[_cardData.resIndex]);
 
-                    comCardImgResTargetSize = new Vector2(_ui.target.height * _cardResInitWidth / _cardResInitHight, _ui.target.height);
-                    comCardImgResInitSize = new Vector2(_cardResInitWidth * _cardScale, _cardResInitHight * _cardScale);
+                    comCardImgResTargetSize = new Vector2(_ui.target.height * CardDataManager.CardResInitWidth / CardDataManager.CardResInitHight, _ui.target.height);
+
+                    comCardImgResInitSize = new Vector2(CardDataManager.CardResInitWidth * _cardScale, CardDataManager.CardResInitHight * _cardScale);
                     _ui.m_comImgCard.m_ComCardImgRes.target.size = comCardImgResInitSize;
                     _ui.m_comImgCard.target.scrollPane.SetPercX(0.5f, false);
                 }
@@ -1191,11 +1199,12 @@ namespace GFGGame
             {
                 _ui.m_loaListener.visible = false;
 
-                float scale = _ui.target.height / 1920;
-                _ui.m_comCard.target.scrollPane.viewWidth = 1080 / scale;
+                float scale = _ui.target.height / CardDataManager.CardResInitHight;
+                _ui.m_comCard.target.scrollPane.viewWidth = _ui.target.width / scale;// (_ui.target.width / (scale*100))/100;
                 _ui.m_comCard.target.scrollPane.SetPercX(0.5f, true);
 
                 _ui.m_t0.SetValue("scale", scale, scale);
+
                 _ui.m_t0.SetValue("normal", _cardScale, _cardScale);
 
                 _ui.m_t0.Play(() =>

+ 45 - 7
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightSingleScoreView.cs

@@ -31,6 +31,9 @@ namespace GFGGame
         private float offsetX = 150.0f;
         //部位图片
         private List<string> partImage = new List<string> { "","fx","zr","sp","scw","fz","zb"};
+        //点击特效
+        private List<string> ppEffectName = new List<string> { "PaoPao_Lose","PaoPao_prefectgood", "PaoPao_prefectgood" };
+        private List<string> starEffectName = new List<string> { "zd_Lose","zd_Good","zd_prefect"};
 
         private EffectUI _effectUI1;
         private EffectUI _effectUI2;
@@ -50,6 +53,9 @@ namespace GFGGame
         private EffectUI _effectUI16;
         private EffectUI _effectUI17;
         private EffectUI _effectUI18;
+        private EffectUI _effectUI19;
+        private EffectUI _effectUI20;
+        private EffectUI _effectUI21;
 
         public override void Dispose()
         {
@@ -94,6 +100,12 @@ namespace GFGGame
             _effectUI17 = null;
             EffectUIPool.Recycle(_effectUI18);
             _effectUI18 = null;
+            EffectUIPool.Recycle(_effectUI19);
+            _effectUI19 = null;
+            EffectUIPool.Recycle(_effectUI20);
+            _effectUI20 = null;
+            EffectUIPool.Recycle(_effectUI21);
+            _effectUI21 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -135,7 +147,7 @@ namespace GFGGame
             _effectUI5 = EffectUIPool.CreateEffectUI(_ui.m_proScore.m_holder1, "ui_fight_new", "Progress_fixed");
             _effectUI6 = EffectUIPool.CreateEffectUI(_ui.m_proScore.m_comBar.m_holder, "ui_fight_new", "Progress_liuguang");
             //_effectUI7 = EffectUIPool.CreateEffectUI(_ui.m_comAllPerfect.m_holder, "ui_fight_new", "zd_df_dfzj");
-            _effectUI8 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holderNormal, "ui_fight_new", "bottom_appear");
+            _effectUI8 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holderNormal, "ui_fight_new", "bottom_Highlight");
             _effectUI9 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holderCircle, "ui_fight_new", "circle");
             _effectUI10 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holder0, "ui_fight_new", "Lose_animation");
             _effectUI11 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holder1, "ui_fight_new", "Good_animation");
@@ -146,6 +158,7 @@ namespace GFGGame
             _effectUI16 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holder, "ui_fight_new", "3S_textAppear01");
             _effectUI17 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holderSmokeIn, "ui_fight_new", "smoke_Approach");
             _effectUI18 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holderSmokeOut, "ui_fight_new", "smoke_out");
+            _effectUI21 = EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_HaiZhiShi", "Bg_All_Tx");
         }
         protected override void AddEventListener()
         {
@@ -284,16 +297,18 @@ namespace GFGGame
             x = pos.x;
             y = pos.y;
             _ui.m_comClick.m_comResult.target.visible = true;
-            _ui.m_comClick.m_comResult.m_holderNormal.scale = new Vector2(1.6f, 1.6f);
+            _ui.m_comClick.m_comResult.m_paopao.visible = true;
+            _ui.m_comClick.m_comResult.m_holderNormal.scale = new Vector2(1.6f, 1.6f); 
             _ui.m_comClick.m_comResult.m_holderResult.SetXY(130, 130);
             // _ui.m_comClick.m_comResult.m_loaGlass.url = string.Format("ui://Main/zd_bl_{0}", UnityEngine.Random.Range(0, 3));
+            _ui.m_comClick.m_comResult.m_evaluatext.url = string.Format("ui://Main/zd_wz_pf_{0}", partImage[_partId]);
             _ui.m_comClick.m_comResult.target.SetXY(x, y);
             _ui.m_comClick.m_comResult.m_t0.ignoreEngineTimeScale = false;
             _ui.m_comClick.m_comResult.m_t0.timeScale = FightDataManager.Instance.fightSpeed;
             if (GuideDataManager.IsGuideFinish(ConstGuideId.START_FIGHT) <= 0)
             {
                 _ui.m_comClick.target.touchable = false;
-                _ui.m_comClick.m_comResult.m_t0.Play(1, 0, 0, 1.25f, UpdateToCheckGuide);
+                _ui.m_comClick.m_comResult.m_t0.Play(1, 0, 0, 1.0f, UpdateToCheckGuide);
             }
             else if (FightDataManager.Instance.autoPlay)
             {
@@ -321,7 +336,11 @@ namespace GFGGame
             _ui.m_comClick.target.touchable = false;
             int clickType = FightDataManager.Instance.GetClickType(_ui.m_comClick.m_comResult.m_holderCircle.scale.x);
             _ui.m_comClick.m_comResult.m_t0.Stop(true, false);
-
+            if (clickType == 2)
+            {
+                _effectUI20 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_starEffect, "ui_fight_new", starEffectName[clickType]);
+                _ui.m_comClick.m_comResult.m_starEffect.visible = true;
+            }
 
             if (clickType == ClickType.PERFECT_CLICK)
             {
@@ -337,16 +356,28 @@ namespace GFGGame
         private void PartScoreResultStart(int clickType)
         {
             Debug.Log("_partId:" + _partId);
-
             // _ui.m_comClick.target.touchable = false;
+            _effectUI19 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_ppEffect, "ui_fight_new", ppEffectName[clickType]);
+            
+            _ui.m_comClick.m_comResult.m_ppEffect.visible = true;    
+            _ui.m_comClick.m_comResult.m_paopao.visible = false;
+            if(clickType == 2)
+            {
+                _ui.m_t0.Play();
+            }
+            else
+            {
+                _effectUI20 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_starEffect, "ui_fight_new", starEffectName[clickType]);
+                _ui.m_comClick.m_comResult.m_starEffect.visible = true;
+            }
 
             PartScoreResultEnd();
-            //这里后面去掉第四个参数,因为不需要他参与计算了
+            //这里后面去掉第四个参数,因为不需要他参与计算了  
             _partScore = ScoreSystemData.Instance.GetRoundScore(roleData, _partId, clickType , _allSkillScore);
             _score += _partScore;
             _ui.m_comClick.m_comResult.target.GetChild("holder" + clickType).visible = true;
             _ui.m_comClick.m_comResult.m_c1.selectedIndex = clickType;
-            _ui.m_comClick.m_comResult.m_evaluatext.url = string.Format("ui://Main/zd_wz_pf_{0}", partImage[_partId]);
+
             switch (clickType)
             {
                 case ClickType.MISS_CLICK:
@@ -376,6 +407,13 @@ namespace GFGGame
         private void CheckPartEndSkill()
         {
             // _ui.m_comClick.m_comResult.target.visible = _partId == FightScoreCfgArray.Instance.dataArray.Length ? false : true;
+            _ui.m_comClick.m_comResult.m_ppEffect.visible = false;
+            _ui.m_comClick.m_comResult.m_starEffect.visible = false;
+            EffectUIPool.Recycle(_effectUI19);
+            _effectUI19 = null;
+            EffectUIPool.Recycle(_effectUI20);
+            _effectUI20 = null;
+
             _skillScore = 0;
             _currentTime = SkillBeginTime.ERVERY_ROUND_END;
             TryShowCardSkill(null);

+ 48 - 1
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryFightTargetScoreView.cs

@@ -33,6 +33,10 @@ namespace GFGGame
         private EffectUI _effectUI14;
         private EffectUI _effectUI15;
 
+        private EffectUI _effectUI19;
+        private EffectUI _effectUI20;
+        private EffectUI _effectUI21;
+
         private NTexture _nTexture;
         private bool _isAutoPlay = false;
         // private float _speed = 1;
@@ -54,6 +58,9 @@ namespace GFGGame
 
         //部位图片
         private List<string> partImage = new List<string> { "", "fx", "zr", "sp", "scw", "fz", "zb" };
+        //点击特效
+        private List<string> ppEffectName = new List<string> { "PaoPao_Lose", "PaoPao_prefectgood", "PaoPao_prefectgood" };
+        private List<string> starEffectName = new List<string> { "zd_Lose", "zd_Good", "zd_prefect" };
 
         public override void Dispose()
         {
@@ -87,6 +94,13 @@ namespace GFGGame
             _effectUI14 = null;
             EffectUIPool.Recycle(_effectUI15);
             _effectUI15 = null;
+
+            EffectUIPool.Recycle(_effectUI19);
+            _effectUI19 = null;
+            EffectUIPool.Recycle(_effectUI20);
+            _effectUI20 = null;
+            EffectUIPool.Recycle(_effectUI21);
+            _effectUI21 = null;
             if (_ui != null)
             {
                 _ui.Dispose();
@@ -99,7 +113,7 @@ namespace GFGGame
             _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_proScore.m_holder1, "ui_fight_new", "Progress_fixed");
             _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_proScore.m_holder, "ui_fight_new", "Progress_head");
             _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_proScore.m_comBar.m_holder, "ui_fight_new", "Progress_liuguang");
-            _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holderNormal, "ui_fight_new", "bottom_appear");
+            _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holderNormal, "ui_fight_new", "bottom_Highlight");
             _effectUI5 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holderCircle, "ui_fight_new", "circle");
             //_effectUI6 = EffectUIPool.CreateEffectUI(_ui.m_comAllPerfect.m_holder, "ui_fight_new", "zd_df_dfzj");
             _effectUI7 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_holder0, "ui_fight_new", "Lose_animation");
@@ -111,6 +125,7 @@ namespace GFGGame
             _effectUI13 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holder, "ui_fight_new", "3S_textAppear01");
             _effectUI14 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holderSmokeIn, "ui_fight_new", "smoke_Approach");
             _effectUI15 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comAllPerfect.m_holderSmokeOut, "ui_fight_new", "smoke_out");
+            _effectUI21 = EffectUIPool.CreateEffectUI(_ui.m_bgEffect, "ui_HaiZhiShi", "Bg_All_Tx");
         }
 
         protected override void OnInit()
@@ -402,6 +417,13 @@ namespace GFGGame
 
         private void CheckPartFightEndSkill()
         {
+            _ui.m_comClick.m_comResult.m_ppEffect.visible = false;
+            _ui.m_comClick.m_comResult.m_starEffect.visible = false;
+            EffectUIPool.Recycle(_effectUI19);
+            _effectUI19 = null;
+            EffectUIPool.Recycle(_effectUI20);
+            _effectUI20 = null;
+
             _skillScore = 0;
             _targetSkillScore = 0;
 
@@ -523,9 +545,12 @@ namespace GFGGame
             x = pos.x;
             y = pos.y;
             _ui.m_comClick.m_comResult.m_holderNormal.scale = new Vector2(1.6f, 1.6f);
+            _ui.m_comClick.m_comResult.m_paopao.visible = true;
             _ui.m_comClick.m_comResult.m_holderResult.SetXY(130, 130);
             _ui.m_comClick.m_comResult.target.visible = true;
             // _ui.m_comClick.m_comResult.m_loaGlass.url = string.Format("ui://Main/zd_bl_{0}", UnityEngine.Random.Range(0, 3));
+            _ui.m_comClick.m_comResult.m_evaluatext.url = string.Format("ui://Main/zd_wz_pf_{0}", partImage[_partId]);
+
             _ui.m_comClick.m_comResult.target.SetXY(x, y);
 
             _ui.m_comClick.m_comResult.m_t0.timeScale = FightDataManager.Instance.fightSpeed;
@@ -555,6 +580,13 @@ namespace GFGGame
             int clickType = FightDataManager.Instance.GetClickType(_ui.m_comClick.m_comResult.m_holderCircle.scale.x);
             _ui.m_comClick.m_comResult.m_t0.Stop(true, false);
 
+            if (clickType == 2)
+            {
+                _effectUI20 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_starEffect, "ui_fight_new", starEffectName[clickType]);
+                _ui.m_comClick.m_comResult.m_starEffect.visible = true;
+            }
+
+
             if (clickType == ClickType.PERFECT_CLICK)
             {
                 CheckPartPerfectClickSkill();
@@ -576,6 +608,21 @@ namespace GFGGame
 
             _ui.m_comClick.target.touchable = false;
 
+            _effectUI19 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_ppEffect, "ui_fight_new", ppEffectName[clickType]);
+
+            _ui.m_comClick.m_comResult.m_ppEffect.visible = true;
+            _ui.m_comClick.m_comResult.m_paopao.visible = false;
+            if (clickType == 2)
+            {
+                _ui.m_t3.Play();
+            }
+            else
+            {
+                _effectUI20 = EffectUIPool.CreateEffectUI(_ui.m_comClick.m_comResult.m_starEffect, "ui_fight_new", starEffectName[clickType]);
+                _ui.m_comClick.m_comResult.m_starEffect.visible = true;
+            }
+
+
             int _partScore = ScoreSystemData.Instance.GetRoundScore(roleData, _partId, clickType, _skillScore);
             int _targetPartScore;
             if (targetData.type == FightTargetType.PLAYER)

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/SettingView.cs

@@ -147,7 +147,7 @@ namespace GFGGame
             UI_Slider2.ProxyEnd();
 
             VoiceManager.Instance.SetVolumn(volumn);
-            LocalCache.SetFloat(LauncherConfig.VOICE_VOLUMN_KEY, volumn);
+            LocalCache.SetFloat(GameConfig.VOICE_VOLUMN_KEY, volumn);
         }
 
         private void OnChangeMusicVolumn()
@@ -158,7 +158,7 @@ namespace GFGGame
             UI_Slider2.ProxyEnd();
             MusicManager.Instance.SetSettingVolumn(volumn);
             MusicManager.Instance.SetVolume(volumn);
-            LocalCache.SetFloat(LauncherConfig.MUSIC_VOLUMN_KEY, volumn);
+            LocalCache.SetFloat(GameConfig.MUSIC_VOLUMN_KEY, volumn);
         }
 
         private void OnChangeSoundVolumn()
@@ -169,7 +169,7 @@ namespace GFGGame
             UI_Slider2.ProxyEnd();
 
             SoundManager.Instance.SetVolumn(volumn);
-            LocalCache.SetFloat(LauncherConfig.SOUND_VOLUMN_KEY, volumn);
+            LocalCache.SetFloat(GameConfig.SOUND_VOLUMN_KEY, volumn);
         }
 
         private void OnClickBtnChangeMainBg()

+ 13 - 9
GameClient/Assets/Game/Launcher/LauncherConfig.cs

@@ -13,21 +13,12 @@ namespace GFGGame
         public const string DllDirAOT = "Assets/ResIn/Dll/AOT/";
         public const int HTTP_GET_TIME_OUT = 3;
         public const int HTTP_POST_TIME_OUT = 15;
-        public static string SOUND_KEY = "sound";
-        public static string MUSIC_KEY = "music";
-        public static string VOICE_KEY = "voice";
-
-        public static string SOUND_VOLUMN_KEY = "sound_volumn";
-        public static string MUSIC_VOLUMN_KEY = "music_volumn";
-        public static string VOICE_VOLUMN_KEY = "voice_volumn";
 
         public const string SQL_FILE_NAME = "excelConfig.sqlite.bytes";
 
         public const string LAST_LOGIN_IS_AGREE_KEY = "LAST_LOGIN_IS_AGREE_KEY_6";//上次登录是否同意隐私政策
 
         public static string CDN_ROOT;
-        public static string loginApiUrl;
-        public static string gameApiUrl;
         public static string launcherRootUrl;
         public static string cfgUrl;
         //平台id
@@ -39,9 +30,15 @@ namespace GFGGame
         public static string apkVersion;
         //0 正常,1 维护中,2 提审中
         public static int serverStatus;
+        //0 关闭所有log界面,1 开启后台log界面, 2 开启弹窗log界面
         public static int onDebug;
+        //AB资源版本
         public static string manifest_v;
+        //隐私政策文件地址模版
         public static string privacy_v;
+        public static string statusPrompt;
+        public static string updateAppPrompt;
+        public static string updateResPrompt;
 
         public static void InitScriptCompilation()
         {
@@ -82,6 +79,9 @@ namespace GFGGame
             LauncherConfig.onDebug = int.Parse(result.onDebug);
             LauncherConfig.manifest_v = result.manifest_v;
             LauncherConfig.privacy_v = result.privacy_v;
+            LauncherConfig.statusPrompt = result.statusPrompt;
+            LauncherConfig.updateAppPrompt = result.updateAppPrompt;
+            LauncherConfig.updateResPrompt = result.updateResPrompt;
         }
 
         private struct Result
@@ -93,6 +93,10 @@ namespace GFGGame
             public string onDebug;
             public string manifest_v;
             public string privacy_v;
+            public string statusPrompt;
+            public string updateAppPrompt;
+            public string updateResPrompt;
+            public string promptSizeMB;
         }
 
     }

+ 8 - 11
GameClient/Assets/Game/Launcher/LauncherController.cs

@@ -43,7 +43,11 @@ namespace GFGGame
 
             if (LauncherConfig.serverStatus == 1)
             {
-                Alert.Show("游戏正在维护中,请稍后再试。")
+                if(string.IsNullOrEmpty(LauncherConfig.statusPrompt))
+                {
+                    LauncherConfig.statusPrompt = "游戏正在维护中,请稍后再试。";
+                }
+                Alert.Show(LauncherConfig.statusPrompt)
                     .SetLeftButton(true, "知道了", (data) =>
                     {
 
@@ -76,18 +80,11 @@ namespace GFGGame
 
         private static void DownloadApk()
         {
-            string message = "需要安装新的安装包,请联系研发获取。";
-#if PT_IOS
-            if(LauncherConfig.serverStatus == 2)
+            if(string.IsNullOrEmpty(LauncherConfig.updateAppPrompt))
             {
-                message = "有新的版本,请前往TestFlight更新。";
+                LauncherConfig.updateAppPrompt = "需要安装新的安装包,请联系研发获取。";
             }
-            else
-            {
-                message = "有新的版本,请前往AppStore更新。";
-            }
-#endif
-            Alert.Show(message)
+            Alert.Show(LauncherConfig.updateAppPrompt)
                     .SetLeftButton(true, "知道了", (data) =>
                     {
 

+ 19 - 9
GameClient/Assets/Game/Launcher/Version/VersionController.cs

@@ -135,13 +135,24 @@ namespace GFGGame
                 long totalDownloadBytes = downloaderOperation.TotalDownloadBytes;
                 float sizeMB = totalDownloadBytes / 1048576f;
                 sizeMB = Mathf.Clamp(sizeMB, 0.1f, float.MaxValue);
-                string totalSizeMB = sizeMB.ToString("f1");
-                string message = $"游戏有新的内容,{packageName}需要更新{totalSizeMB}MB大小的内容";
-                Alert.Show(message)
-                    .SetLeftButton(true, "更新", (data) =>
+                if(sizeMB > 10)
+                {
+                    string totalSizeMB = sizeMB.ToString("f1");
+                    if(string.IsNullOrEmpty(LauncherConfig.updateResPrompt))
                     {
-                        StartCoroutine(BeginDownload(downloaderOperation, packageName));
-                    });
+                        LauncherConfig.updateResPrompt = $"游戏有新的内容,需要更新{0}MB大小的资源";
+                    }
+                    string message = string.Format(LauncherConfig.updateResPrompt, totalSizeMB);
+                    Alert.Show(message)
+                        .SetLeftButton(true, "更新", (data) =>
+                        {
+                            StartCoroutine(BeginDownload(downloaderOperation, packageName));
+                        });
+                }
+                else
+                {
+                    StartCoroutine(BeginDownload(downloaderOperation, packageName));
+                }
             }
         }
 
@@ -183,8 +194,7 @@ namespace GFGGame
         /// </summary>
         private string GetHostServerURL(string packageName)
         {
-            //string hostServerIP = "http://10.108.64.127";
-            string hostServerIP = LauncherConfig.CDN_ROOT;
+            //LauncherConfig.CDN_ROOT = "http://10.108.64.127";
 
             string platform = "PC";
 #if UNITY_EDITOR
@@ -202,7 +212,7 @@ namespace GFGGame
 		else if (Application.platform == RuntimePlatform.WebGLPlayer)
                 platform = "WebGL";
 #endif
-            return $"{hostServerIP}/{platform}/{packageName}/HostPlay";
+            return $"{LauncherConfig.CDN_ROOT}/{platform}/{packageName}/HostPlay";
         }
         /// <summary>
         /// 远端资源地址查询服务类

BIN
GameClient/Assets/ResIn/UI/Card/Card_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10!a.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 2d79f865c56d0fd459dfef99c47aa0d8
+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: 0
+    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
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    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/Main/Main_atlas0_10.png


+ 120 - 0
GameClient/Assets/ResIn/UI/Main/Main_atlas0_10.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 83fae21be34971945aa6291b533a101e
+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: 0
+    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
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    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/Main/Main_atlas0_11!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/Main/Main_atlas0_11!a.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 3f2bd12fcbac28c40bcd1f0fc8e66f5c
+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: 0
+    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
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    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/Main/Main_atlas0_11.png


+ 120 - 0
GameClient/Assets/ResIn/UI/Main/Main_atlas0_11.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 62f322eccf7ed704fb99ab516b6a9d82
+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: 0
+    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
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    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/Main/Main_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_4!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_4.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_5!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_5.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_6!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_6.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_7!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_7.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_8!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_8.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_9!a.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_atlas0_9.png


BIN
GameClient/Assets/ResIn/UI/Main/Main_fui.bytes


BIN
GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_atlas0.png


BIN
GameClient/Assets/ResIn/UI/OpenServerActivity/OpenServerActivity_fui.bytes