Bläddra i källkod

Merge remote-tracking branch 'remotes/origin/master' into xiaojie

hexiaojie 1 år sedan
förälder
incheckning
f4c91097b0
61 ändrade filer med 919 tillägg och 55 borttagningar
  1. 3 0
      GameClient/Assets/DOTween/Modules/DOTween.Modules.asmdef
  2. 7 0
      GameClient/Assets/DOTween/Modules/DOTween.Modules.asmdef.meta
  3. 2 2
      GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs
  4. 24 0
      GameClient/Assets/Game/HotUpdate/Data/StoryDialogDataManager.cs
  5. 11 0
      GameClient/Assets/Game/HotUpdate/Data/StoryDialogDataManager.cs.meta
  6. 1 0
      GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs
  7. 79 27
      GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs
  8. 9 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_ComFosterBottom.cs
  9. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CreateRole/UI_CreateRoleUI.cs
  10. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CreateRole/UI_EnvelopeModel.cs
  11. 111 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyUI.cs
  12. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyUI.cs.meta
  13. 74 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_TeaPartyItemTips.cs
  14. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_TeaPartyItemTips.cs.meta
  15. 83 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_comTeaPartyItem.cs
  16. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_comTeaPartyItem.cs.meta
  17. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryDialogUI.cs
  18. 2 2
      GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs
  19. 4 2
      GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs
  20. 3 1
      GameClient/Assets/Game/HotUpdate/Views/CreateRole/CreateRoleView.cs
  21. 108 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs
  22. 11 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs.meta
  23. 2 0
      GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs
  24. 61 16
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs
  25. 0 2
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs
  26. 5 2
      GameClient/Assets/Game/HotUpdate/Views/Task/TaskAchieveDetailView.cs
  27. 1 0
      GameClient/Assets/Game/HotUpdate/Views/Task/TaskAchieveView.cs
  28. 84 1
      GameClient/Assets/ResIn/Prefab/SceneStoryDialog.prefab
  29. BIN
      GameClient/Assets/ResIn/UI/Card/Card_fui.bytes
  30. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png
  31. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png
  32. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png
  33. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png
  34. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png
  35. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png
  36. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3!a.png
  37. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3.png
  38. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png
  39. 96 0
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png.meta
  40. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png
  41. 96 0
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png.meta
  42. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  43. BIN
      GameClient/Assets/ResIn/UI/CreateRole/CreateRole_fui.bytes
  44. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0!a.png
  45. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0.png
  46. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_1!a.png
  47. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_1.png
  48. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_3!a.png
  49. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_3.png
  50. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_4!a.png
  51. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_4.png
  52. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_5!a.png
  53. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_5.png
  54. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_6!a.png
  55. BIN
      GameClient/Assets/ResIn/UI/League/League_atlas0_6.png
  56. BIN
      GameClient/Assets/ResIn/UI/League/League_fui.bytes
  57. BIN
      GameClient/Assets/ResIn/UI/Mail/Mail_atlas0!a.png
  58. BIN
      GameClient/Assets/ResIn/UI/Mail/Mail_atlas0.png
  59. BIN
      GameClient/Assets/ResIn/UI/Mail/Mail_fui.bytes
  60. BIN
      GameClient/Assets/ResIn/UI/Main/Main_fui.bytes
  61. BIN
      GameClient/Assets/ResIn/UI/Task/Task_fui.bytes

+ 3 - 0
GameClient/Assets/DOTween/Modules/DOTween.Modules.asmdef

@@ -0,0 +1,3 @@
+{
+	"name": "DOTween.Modules"
+}

+ 7 - 0
GameClient/Assets/DOTween/Modules/DOTween.Modules.asmdef.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 768e104d8ed110f4aaa02deb8e9c9d4c
+AssemblyDefinitionImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 2
GameClient/Assets/Game/HotUpdate/Data/ArenaDataManager.cs

@@ -396,7 +396,7 @@ namespace GFGGame
                 var fightData = fightDatas[i];
                 if (fightData.type == FightTargetType.PLAYER)
                 {
-                    long itemsScore = GetItemScoreSum(fightData.itemScoreList);
+                    long itemsScore = FightDataManager.Instance.GetScore(fightData);
                     itemSum += itemsScore;
                     clickScore += GetPerfectClickScore(fightData);
                     skillScore += FightDataManager.Instance.GetSkillFightScore(itemsScore, fightData.baseScore,
@@ -405,7 +405,7 @@ namespace GFGGame
                 }
                 else
                 {
-                    long itemsScore = GetItemScoreSum(fightData.itemScoreList);
+                    long itemsScore = FightDataManager.Instance.GetScore(fightData);
                     itemSum += itemsScore;
                     clickScore += GetRobotPerfectClickScore(fightData);
                     skillScore += FightDataManager.Instance.GetSkillFightScore(itemsScore, fightData.baseScore,

+ 24 - 0
GameClient/Assets/Game/HotUpdate/Data/StoryDialogDataManager.cs

@@ -0,0 +1,24 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class StoryDialogDataManager : SingletonBase<StoryDialogDataManager>
+    {
+        public void Clear()
+        {
+            _waitPicFade = false;
+            _waitBgChange = false;
+        }
+
+        private bool _waitPicFade = false;
+        private bool _waitBgChange = false;
+
+
+        // Dialog wait pic's animation finished 
+        public bool waitPicFade { get { return _waitPicFade; } set { _waitPicFade = value; } }
+        public bool waitBgChange { get { return _waitBgChange; } set { _waitBgChange = value; } }
+    }
+}
+

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

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

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Data/TaskDataManager.cs

@@ -104,6 +104,7 @@ namespace GFGGame
             {
                 var stateA = TaskInfosDic[a.id].State == 1 ? 1 : -1;
                 var stateB = TaskInfosDic[b.id].State == 1 ? 1 : -1;
+                if (stateA > stateB) return -1;
                 return stateB > stateA ? 1 : TaskInfosDic[a.id].State.CompareTo(TaskInfosDic[b.id].State);
             });
             return cfgs;

+ 79 - 27
GameClient/Assets/Game/HotUpdate/DressUp/SceneController.cs

@@ -1,6 +1,6 @@
 using UnityEngine;
-using System;
-using FairyGUI;
+
+using System.Collections;
 
 namespace GFGGame
 {
@@ -43,18 +43,61 @@ namespace GFGGame
 
         public static void UpdateDialogBg(string value, GameObject sceneObj)
         {
-            Transform tf = sceneObj.transform.Find("Bg");
-            SpriteRenderer spr = tf.GetComponent<SpriteRenderer>();
+            Transform bg = sceneObj.transform.Find("Bg");
+            Transform bgNext = sceneObj.transform.Find("BgNext");
+            SpriteRenderer bgSpr = bg.GetComponent<SpriteRenderer>();
+            SpriteRenderer bgNextSpr = bgNext.GetComponent<SpriteRenderer>();
+
             if (value == "0")
             {
-                spr.sprite = null;
+                bgSpr.sprite = null;
             }
             else
             {
                 var resPath = ResPathUtil.GetDressUpPath(value, "jpg");
                 Sprite sp = GFGAsset.Load<Sprite>(resPath);
-                DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
-                spr.sprite = sp;
+                DressUpUtil.AddAssetReleaser(bg.gameObject, resPath);
+
+                if (bgSpr.sprite == null)
+                {
+                    bgSpr.sprite = sp;
+                }
+                else
+                {
+                    StoryDialogDataManager.Instance.waitBgChange = true;
+                    SetSpriteRendererAlpha(bgSpr, 1f);
+                    bgNextSpr.sprite = sp;
+                    FairyGUI.Timers.inst.StartCoroutine(LastBgFadeOut());
+                    
+                    IEnumerator LastBgFadeOut()
+                    {
+                        while (true)
+                        {
+                            if (bgSpr != null)
+                            {
+                                if (bgSpr.enabled && bgSpr.color.a > 0f)
+                                {
+                                    SetSpriteRendererAlpha(bgSpr, bgSpr.color.a - 0.033f);
+                                }
+                                else
+                                {
+                                    bgSpr.sprite = sp;
+                                    SetSpriteRendererAlpha(bgSpr, 1f);
+                                    bgNextSpr.sprite = null;
+                                    break;
+                                }
+                            }
+                            else
+                            {
+                                break;
+                            }
+                            yield return new WaitForEndOfFrame();
+                        }
+                        StoryDialogDataManager.Instance.waitBgChange = false;
+                    }
+                }
+
+
             }
         }
 
@@ -68,38 +111,47 @@ namespace GFGGame
             }
             else
             {
-                void UpdateDialogPicAlpha(object param)
+                StoryDialogDataManager.Instance.waitPicFade = true;
+
+                var resPath = ResPathUtil.GetNpcPicSPath(value);
+                Sprite sp = GFGAsset.Load<Sprite>(resPath);
+                DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
+                spr.sprite = sp;
+                SetSpriteRendererAlpha(spr, 0f);
+                FairyGUI.Timers.inst.StartCoroutine(UpdateDialogPicAlpha());
+
+                IEnumerator UpdateDialogPicAlpha()
                 {
-                    if (spr != null)
+                    while (true)
                     {
-                        Color c = spr.color;
-                        if (spr.enabled && c.a < 1f)
+                        if (spr != null)
                         {
-                            c.a += 0.05f;
-                            spr.color = c;
+                            if (spr.enabled && spr.color.a < 1f)
+                            {
+                                SetSpriteRendererAlpha(spr, spr.color.a + 0.055f);
+                            }
+                            else
+                            {
+                                break;
+                            }
                         }
                         else
                         {
-                            FairyGUI.Timers.inst.Remove(UpdateDialogPicAlpha);
+                            break;
                         }
+                        yield return new WaitForEndOfFrame();
                     }
-                    else
-                    {
-                        FairyGUI.Timers.inst.Remove(UpdateDialogPicAlpha);
-                    }
-
                 }
-                var resPath = ResPathUtil.GetNpcPicSPath(value);
-                Sprite sp = GFGAsset.Load<Sprite>(resPath);
-                DressUpUtil.AddAssetReleaser(tf.gameObject, resPath);
-                spr.sprite = sp;
-                Color c = spr.color;
-                c.a = 0f;
-                spr.color = c;
-                FairyGUI.Timers.inst.AddUpdate(UpdateDialogPicAlpha);
             }
         }
 
+        public static void SetSpriteRendererAlpha(SpriteRenderer spr, float a)
+        {
+            Color c = spr.color;
+            c.a = a;
+            spr.color = c;
+        }
+
         public static void UpdateFightTarget(string value, GameObject sceneObj)
         {
             Transform tf = sceneObj.transform.Find("Npc");

+ 9 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_ComFosterBottom.cs

@@ -34,6 +34,8 @@ namespace UI.Card
         public GComponent m_comStarCousumeGold;
         public GTextField m_txtTips;
         public GList m_listStarConsume;
+        public GButton m_btnRule;
+        public GButton m_btnCheckAuto;
         public UI_ComStarItem m_comStarItem;
         public GGraph m_holderUpStar;
         public UI_ComDodgeStar m_dodgeStar0;
@@ -53,6 +55,7 @@ namespace UI.Card
         public GGraph m_holderTouchFlower;
         public GList m_listProperty;
         public Transition m_starItemAlpha;
+        public Transition m_openViewShow;
         public const string URL = "ui://7l6lvkayj4c69d";
         public const string PACKAGE_NAME = "Card";
         public const string RES_NAME = "ComFosterBottom";
@@ -127,6 +130,8 @@ namespace UI.Card
             m_comStarCousumeGold = (GComponent)comp.GetChild("comStarCousumeGold");
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_listStarConsume = (GList)comp.GetChild("listStarConsume");
+            m_btnRule = (GButton)comp.GetChild("btnRule");
+            m_btnCheckAuto = (GButton)comp.GetChild("btnCheckAuto");
             m_comStarItem = (UI_ComStarItem)UI_ComStarItem.Create(comp.GetChild("comStarItem"));
             m_holderUpStar = (GGraph)comp.GetChild("holderUpStar");
             m_dodgeStar0 = (UI_ComDodgeStar)UI_ComDodgeStar.Create(comp.GetChild("dodgeStar0"));
@@ -146,6 +151,7 @@ namespace UI.Card
             m_holderTouchFlower = (GGraph)comp.GetChild("holderTouchFlower");
             m_listProperty = (GList)comp.GetChild("listProperty");
             m_starItemAlpha = comp.GetTransition("starItemAlpha");
+            m_openViewShow = comp.GetTransition("openViewShow");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -176,6 +182,8 @@ namespace UI.Card
             m_comStarCousumeGold = null;
             m_txtTips = null;
             m_listStarConsume = null;
+            m_btnRule = null;
+            m_btnCheckAuto = null;
             m_comStarItem.Dispose();
             m_comStarItem = null;
             m_holderUpStar = null;
@@ -200,6 +208,7 @@ namespace UI.Card
             m_holderTouchFlower = null;
             m_listProperty = null;
             m_starItemAlpha = null;
+            m_openViewShow = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CreateRole/UI_CreateRoleUI.cs

@@ -9,6 +9,7 @@ namespace UI.CreateRole
         public GComponent target;
         public GLoader m_loaBg;
         public UI_EnvelopeModel m_envelopeModel;
+        public GGraph m_BgEffectHolder;
         public Transition m_t_Open;
         public Transition m_t_In;
         public Transition m_t_AfterOpen;
@@ -61,6 +62,7 @@ namespace UI.CreateRole
         {
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_envelopeModel = (UI_EnvelopeModel)UI_EnvelopeModel.Create(comp.GetChild("envelopeModel"));
+            m_BgEffectHolder = (GGraph)comp.GetChild("BgEffectHolder");
             m_t_Open = comp.GetTransition("t_Open");
             m_t_In = comp.GetTransition("t_In");
             m_t_AfterOpen = comp.GetTransition("t_AfterOpen");
@@ -70,6 +72,7 @@ namespace UI.CreateRole
             m_loaBg = null;
             m_envelopeModel.Dispose();
             m_envelopeModel = null;
+            m_BgEffectHolder = null;
             m_t_Open = null;
             m_t_In = null;
             m_t_AfterOpen = null;

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CreateRole/UI_EnvelopeModel.cs

@@ -12,6 +12,7 @@ namespace UI.CreateRole
         public GButton m_btnDice;
         public GTextInput m_inputName;
         public GGraph m_ShanZiEffectHolder;
+        public GGraph m_TextEffectHolder;
         public GGraph m_trailEffectHolder;
         public UI_Envelope m_envelope;
         public Transition m_t_In;
@@ -69,6 +70,7 @@ namespace UI.CreateRole
             m_btnDice = (GButton)comp.GetChild("btnDice");
             m_inputName = (GTextInput)comp.GetChild("inputName");
             m_ShanZiEffectHolder = (GGraph)comp.GetChild("ShanZiEffectHolder");
+            m_TextEffectHolder = (GGraph)comp.GetChild("TextEffectHolder");
             m_trailEffectHolder = (GGraph)comp.GetChild("trailEffectHolder");
             m_envelope = (UI_Envelope)UI_Envelope.Create(comp.GetChild("envelope"));
             m_t_In = comp.GetTransition("t_In");
@@ -82,6 +84,7 @@ namespace UI.CreateRole
             m_btnDice = null;
             m_inputName = null;
             m_ShanZiEffectHolder = null;
+            m_TextEffectHolder = null;
             m_trailEffectHolder = null;
             m_envelope.Dispose();
             m_envelope = null;

+ 111 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyUI.cs

@@ -0,0 +1,111 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.League
+{
+    public partial class UI_LeagueTeaPartyUI
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GButton m_btnBack;
+        public GButton m_btnChallenge;
+        public GButton m_btnChat;
+        public GTextField m_txtTeaName;
+        public UI_comTeaPartyItem m_teaPartyItem1;
+        public UI_comTeaPartyItem m_teaPartyItem2;
+        public UI_comTeaPartyItem m_teaPartyItem3;
+        public UI_comTeaPartyItem m_teaPartyItem4;
+        public UI_comTeaPartyItem m_teaPartyItem5;
+        public UI_comTeaPartyItem m_teaPartyItem6;
+        public UI_TeaPartyItemTips m_teaPartyItemTips;
+        public const string URL = "ui://tw70qm9dchwotpk";
+        public const string PACKAGE_NAME = "League";
+        public const string RES_NAME = "LeagueTeaPartyUI";
+        private static UI_LeagueTeaPartyUI _proxy;
+
+        public static UI_LeagueTeaPartyUI Create(GObject gObject = null)
+        {
+            var ui = new UI_LeagueTeaPartyUI();
+            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_LeagueTeaPartyUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_LeagueTeaPartyUI();
+            }
+            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_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_btnBack = (GButton)comp.GetChild("btnBack");
+            m_btnChallenge = (GButton)comp.GetChild("btnChallenge");
+            m_btnChat = (GButton)comp.GetChild("btnChat");
+            m_txtTeaName = (GTextField)comp.GetChild("txtTeaName");
+            m_teaPartyItem1 = (UI_comTeaPartyItem)UI_comTeaPartyItem.Create(comp.GetChild("teaPartyItem1"));
+            m_teaPartyItem2 = (UI_comTeaPartyItem)UI_comTeaPartyItem.Create(comp.GetChild("teaPartyItem2"));
+            m_teaPartyItem3 = (UI_comTeaPartyItem)UI_comTeaPartyItem.Create(comp.GetChild("teaPartyItem3"));
+            m_teaPartyItem4 = (UI_comTeaPartyItem)UI_comTeaPartyItem.Create(comp.GetChild("teaPartyItem4"));
+            m_teaPartyItem5 = (UI_comTeaPartyItem)UI_comTeaPartyItem.Create(comp.GetChild("teaPartyItem5"));
+            m_teaPartyItem6 = (UI_comTeaPartyItem)UI_comTeaPartyItem.Create(comp.GetChild("teaPartyItem6"));
+            m_teaPartyItemTips = (UI_TeaPartyItemTips)UI_TeaPartyItemTips.Create(comp.GetChild("teaPartyItemTips"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_btnBack = null;
+            m_btnChallenge = null;
+            m_btnChat = null;
+            m_txtTeaName = null;
+            m_teaPartyItem1.Dispose();
+            m_teaPartyItem1 = null;
+            m_teaPartyItem2.Dispose();
+            m_teaPartyItem2 = null;
+            m_teaPartyItem3.Dispose();
+            m_teaPartyItem3 = null;
+            m_teaPartyItem4.Dispose();
+            m_teaPartyItem4 = null;
+            m_teaPartyItem5.Dispose();
+            m_teaPartyItem5 = null;
+            m_teaPartyItem6.Dispose();
+            m_teaPartyItem6 = null;
+            m_teaPartyItemTips.Dispose();
+            m_teaPartyItemTips = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_LeagueTeaPartyUI.cs.meta

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

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_TeaPartyItemTips.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.League
+{
+    public partial class UI_TeaPartyItemTips
+    {
+        public GComponent target;
+        public GGraph m_touch;
+        public GGroup m_window;
+        public const string URL = "ui://tw70qm9dchwotpu";
+        public const string PACKAGE_NAME = "League";
+        public const string RES_NAME = "TeaPartyItemTips";
+        private static UI_TeaPartyItemTips _proxy;
+
+        public static UI_TeaPartyItemTips Create(GObject gObject = null)
+        {
+            var ui = new UI_TeaPartyItemTips();
+            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_TeaPartyItemTips Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_TeaPartyItemTips();
+            }
+            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_touch = (GGraph)comp.GetChild("touch");
+            m_window = (GGroup)comp.GetChild("window");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_touch = null;
+            m_window = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_TeaPartyItemTips.cs.meta

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

+ 83 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_comTeaPartyItem.cs

@@ -0,0 +1,83 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.League
+{
+    public partial class UI_comTeaPartyItem
+    {
+        public GComponent target;
+        public GLoader m_iconRole;
+        public GLoader m_btnDetail;
+        public GTextField m_txtRoleName;
+        public GTextField m_txtMaxValue;
+        public GImage m_imgChoose;
+        public const string URL = "ui://tw70qm9dchwotpl";
+        public const string PACKAGE_NAME = "League";
+        public const string RES_NAME = "comTeaPartyItem";
+        private static UI_comTeaPartyItem _proxy;
+
+        public static UI_comTeaPartyItem Create(GObject gObject = null)
+        {
+            var ui = new UI_comTeaPartyItem();
+            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_comTeaPartyItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_comTeaPartyItem();
+            }
+            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_iconRole = (GLoader)comp.GetChild("iconRole");
+            m_btnDetail = (GLoader)comp.GetChild("btnDetail");
+            m_txtRoleName = (GTextField)comp.GetChild("txtRoleName");
+            m_txtMaxValue = (GTextField)comp.GetChild("txtMaxValue");
+            m_imgChoose = (GImage)comp.GetChild("imgChoose");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_iconRole = null;
+            m_btnDetail = null;
+            m_txtRoleName = null;
+            m_txtMaxValue = null;
+            m_imgChoose = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/League/UI_comTeaPartyItem.cs.meta

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

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Main/UI_StoryDialogUI.cs

@@ -19,6 +19,7 @@ namespace UI.Main
         public GButton m_btnAutoPlay;
         public GButton m_btnSpeedUp;
         public GButton m_btnSkip;
+        public Transition m_t0;
         public const string URL = "ui://mfvz4q8kxuzk2i";
         public const string PACKAGE_NAME = "Main";
         public const string RES_NAME = "StoryDialogUI";
@@ -78,6 +79,7 @@ namespace UI.Main
             m_btnAutoPlay = (GButton)comp.GetChild("btnAutoPlay");
             m_btnSpeedUp = (GButton)comp.GetChild("btnSpeedUp");
             m_btnSkip = (GButton)comp.GetChild("btnSkip");
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -96,6 +98,7 @@ namespace UI.Main
             m_btnAutoPlay = null;
             m_btnSpeedUp = null;
             m_btnSkip = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 2 - 2
GameClient/Assets/Game/HotUpdate/ServerProxy/CardSProxy.cs

@@ -58,10 +58,10 @@ namespace GFGGame
             }
             return false;
         }
-        public static async ETTask<bool> UpgradeCardStar(int cardId)
+        public static async ETTask<bool> UpgradeCardStar(int cardId,bool isAutoSelect = false)
         {
             M2C_UpgradeCardStar response = null;
-            response = (M2C_UpgradeCardStar)await MessageHelper.SendToServer(new C2M_UpgradeCardStar() { CardId = cardId });
+            response = (M2C_UpgradeCardStar)await MessageHelper.SendToServer(new C2M_UpgradeCardStar() { CardId = cardId , IsAutoSelect  = isAutoSelect });
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)

+ 4 - 2
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -225,7 +225,7 @@ namespace GFGGame
         {
             base.OnShown();
 
-            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hc_bj_1");
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("cp_beijing");
 
             _cardData = CardDataManager.GetCardDataById((this.viewData as CardData).id);
             nowIndex = _cardData.index;
@@ -707,6 +707,8 @@ namespace GFGGame
             }
             refDodgeStar = true;
 
+            _comFosterBottom.m_btnRule.onClick.Add(RuleController.ShowRuleView);
+            _comFosterBottom.m_btnRule.data = 300015;
             if (CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
                 _comFosterBottom.m_ctrlFullStar.selectedIndex = 1;
@@ -874,7 +876,7 @@ namespace GFGGame
         }
         private async void UpStar()
         {
-            bool result = await CardSProxy.UpgradeCardStar(_cardData.id);
+            bool result = await CardSProxy.UpgradeCardStar(_cardData.id, _comFosterBottom.m_btnCheckAuto.selected);
             if (result)
             {
                 UpdateCommon();

+ 3 - 1
GameClient/Assets/Game/HotUpdate/Views/CreateRole/CreateRoleView.cs

@@ -64,6 +64,7 @@ namespace GFGGame
             switch (state)
             {
                 case State.IN:
+                    _effectUIDic.Add("FX_ALL_BG", EffectUIPool.CreateEffectUI(_ui.m_BgEffectHolder, "ui_CreateRoleUI/After_Open", "FX_ALL_BG"));
                     _effectUIDic.Add("FX_Flower", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_flowerEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_Flower"));
                     _effectUIDic.Add("FX_LiuSu", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_envelope.m_LiuSuEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_LiuSu"));
                     _effectUIDic.Add("FX_taril", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_trailEffectHolder, "ui_CreateRoleUI/Before_Open", "FX_taril"));
@@ -82,6 +83,7 @@ namespace GFGGame
                 case State.OPEN:
                     EffectUIPool.Recycle(_effectUIDic["FX_player"]);
                     _effectUIDic.Remove("FX_player");
+                    _effectUIDic.Add("FX_Text", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_TextEffectHolder, "ui_CreateRoleUI/After_Open", "FX_Text"));
                     _effectUIDic.Add("FX_ShanZi", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_ShanZiEffectHolder, "ui_CreateRoleUI/After_Open", "FX_ShanZi"));
                     _effectUIDic.Add("FX_Niao", EffectUIPool.CreateEffectUI(_ui.m_envelopeModel.m_NiaoEffectHolder, "ui_CreateRoleUI/After_Open", "FX_Niao"));
                     _ui.m_envelopeModel.m_envelope.target.touchable = false;
@@ -102,7 +104,7 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
-            RandomRoleName().Coroutine();
+            _ui.m_envelopeModel.m_inputName.text = "";
             LogServerHelper.SendNodeLog((int)LogNode.ShowCreateRole);
 
             ChangeAnimationState(State.IN);

+ 108 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs

@@ -0,0 +1,108 @@
+using ET;
+using FairyGUI;
+using Hutool;
+using System.Collections.Generic;
+using UI.League;
+using UnityEngine;
+
+namespace GFGGame
+{
+    //联盟
+    public class LeagueTeaPartyView : BaseWindow
+    {
+        private UI_LeagueTeaPartyUI _ui;
+        private List<UI_comTeaPartyItem> teaPartyItemList = new List<UI_comTeaPartyItem>();
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_LeagueTeaPartyUI.PACKAGE_NAME;
+            _ui = UI_LeagueTeaPartyUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("zjm_2_2");
+            _ui.m_btnBack.onClick.Add(OnBtnBackClick);
+            _ui.m_btnChat.onClick.Add(OnBtnChatClick);
+            _ui.m_btnChallenge.onClick.Add(OnBtnChallengeClick);
+
+            teaPartyItemList.Add(_ui.m_teaPartyItem1);
+            teaPartyItemList.Add(_ui.m_teaPartyItem2);
+            teaPartyItemList.Add(_ui.m_teaPartyItem3);
+            teaPartyItemList.Add(_ui.m_teaPartyItem4);
+            teaPartyItemList.Add(_ui.m_teaPartyItem5);
+            teaPartyItemList.Add(_ui.m_teaPartyItem6);
+
+            _ui.m_teaPartyItemTips.target.onClick.Add(OnTeaPartyItemTipsClick);
+
+            foreach (var itemObj in teaPartyItemList) {
+                itemObj.m_btnDetail.onClick.Add(OnBtnDetailClick);
+                itemObj.m_iconRole.onClick.Add(OnBtnIconRoleClick);
+            }
+        }
+
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+        }
+
+        protected override void OnShown()
+        {
+            base.OnShown();
+        }
+        protected override void OnHide()
+        {
+            base.OnHide();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+        }
+
+        private void OnBtnChatClick()
+        {
+            ViewManager.Show<LeagueChatView>();
+        }
+
+        private void OnBtnChallengeClick()
+        {
+            PromptController.Instance.ShowFloatTextPrompt("开始挑战");
+
+
+        }
+
+        private void OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(LeagueView).FullName);
+        }
+
+        private void OnBtnDetailClick()
+        {
+            _ui.m_teaPartyItemTips.target.visible = true;
+        }
+        
+        private void OnTeaPartyItemTipsClick()
+        {
+            _ui.m_teaPartyItemTips.target.visible = false;
+        }
+
+        private void OnBtnIconRoleClick()
+        {
+            FieldCfg _curCfg;
+            _curCfg = FieldCfgArray.Instance.dataArray[FieldDataManager.Instance.difficulty];
+            int curLevelId = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(_curCfg.type, 0, _curCfg.id)[0].id;
+            ViewManager.Show<DressUpFightView>(curLevelId, new object[] { typeof(LeagueTeaPartyView).FullName, null }, true);
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueTeaPartyView.cs.meta

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

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/League/LeagueView.cs

@@ -116,6 +116,8 @@ namespace GFGGame
         private void OnBtnPartyClick()
         {
             PromptController.Instance.ShowFloatTextPrompt("活动未开启");
+
+            //ViewManager.Show<LeagueTeaPartyView>();
         }
         private void OnBtnShopClick()
         {

+ 61 - 16
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs

@@ -33,8 +33,10 @@ namespace GFGGame
         private string[] _wordList;
         private int _wordIndex = 0;
         private bool _isShowLetters;
+        private bool _canClickBtnNext;
         private string _currentWords;
         private string _storyStartID;
+        private string lastTextFieldType;   // 上一段文本框的类型
 
         //屏幕效果中
         private Action<object> _onScreenEffectComplete;
@@ -111,6 +113,7 @@ namespace GFGGame
             }
             _speedAutoPlay = FightDataManager.Instance.dialogSpeed;
             _autoPlay = false;
+            lastTextFieldType = "";
             UpdateSpeedUpBtn();
             _dialogListLookBack = new List<string>();
             object[] datas = viewData as object[];
@@ -146,6 +149,7 @@ namespace GFGGame
                 FightDataManager.Instance.dialogSpeed = _speedAutoPlay;
             }
             _ui.m_btnBack.visible = InstanceZonesDataManager.CheckLevelPass(100001001);
+            
         }
 
         protected override void OnHide()
@@ -165,6 +169,7 @@ namespace GFGGame
             MusicManager.Instance.Play(ResPathUtil.GetMusicPath(ConstMusicName.DEFAULT));
             _onCompleteStoryDialogCall = null;
             _onCompleteStoryDialogCallParam = null;
+            StoryDialogDataManager.Instance.Clear();
         }
 
         private void OnClickBtnBack()
@@ -176,7 +181,11 @@ namespace GFGGame
 
         private void OnClickBtnNext()
         {
-            // StopAutoPlay();
+            if (!_canClickBtnNext)
+            {
+                return;
+            }
+            StopAutoPlay();
             if (_onScreenEffectComplete != null)
             {
                 Timers.inst.Remove(OnScreenEffectComplete);
@@ -190,6 +199,7 @@ namespace GFGGame
 
         private void OnClickBtnLookBack()
         {
+            StopAutoPlay();
             if (_ui.m_btnSkip.enabled)
             {
                 ViewManager.Show<StoryLookBackView>(_storyStartID);
@@ -260,7 +270,7 @@ namespace GFGGame
             {
                 StoryDialogCfg storyDialogCfg = (StoryDialogCfg)_stepListToRead[0];
                 _stepListToRead.RemoveAt(0);
-                InitStepContent(storyDialogCfg);
+                Timers.inst.StartCoroutine(InitStepContent(storyDialogCfg));
             }
             else
             {
@@ -315,8 +325,13 @@ namespace GFGGame
             }
         }
 
-        private void InitStepContent(StoryDialogCfg storyDialogCfg)
+        private IEnumerator InitStepContent(StoryDialogCfg storyDialogCfg)
         {
+            _canClickBtnNext = false;
+            StoryDialogDataManager.Instance.waitPicFade = false;
+            HideAllDialogUI();
+
+            // Init resource
             _currentStepCfg = storyDialogCfg;
             UpdateMusic(storyDialogCfg.musicRes);
             UpdateBg(storyDialogCfg.bgRes);
@@ -325,6 +340,18 @@ namespace GFGGame
             PlayShake(storyDialogCfg.shakeInfoArr);
             string content = storyDialogCfg.content;
             content = storyDialogCfg.content.Replace("self", RoleDataManager.roleName);
+
+            bool delay = StoryDialogDataManager.Instance.waitBgChange;
+            while (StoryDialogDataManager.Instance.waitBgChange)
+            {
+                yield return new WaitForEndOfFrame();
+            }
+            if (delay)
+            {
+                yield return new WaitForSeconds(0.4f);
+            }
+
+            _canClickBtnNext = true;
             if (content.IndexOf("//") >= 0)
             {
                 showList(content);
@@ -340,9 +367,6 @@ namespace GFGGame
             StopAutoPlay();
             _ui.m_btnAutoPlay.enabled = false;
             _wordTextField = null;
-            _ui.m_dialogText.target.visible = false;
-            _ui.m_dialogName.target.visible = false;
-            _ui.m_dialogHead.target.visible = false;
             _ui.m_list.visible = true;
             _ui.m_list.RemoveChildrenToPool();
             string[] list = Regex.Split(content, "//");
@@ -359,6 +383,14 @@ namespace GFGGame
 
         }
 
+        private void HideAllDialogUI()
+        {
+            _ui.m_dialogText.target.visible = false;
+            _ui.m_dialogName.target.visible = false;
+            _ui.m_dialogHead.target.visible = false;
+            _ui.m_list.visible = false;
+        }
+
         private void ShowDialog(StoryDialogCfg storyDialogCfg)
         {
             if (storyDialogCfg.showChangeName == 1 && StorageDataManager.Instance.GetStorageValue(ConstStorageId.CHANGE_NAME) == 0)
@@ -390,8 +422,6 @@ namespace GFGGame
             if (!string.IsNullOrEmpty(headAniRes) || storyDialogCfg.suitId > 0)
             {
                 //显示对话框半身像
-                _ui.m_dialogText.target.visible = false;
-                _ui.m_dialogName.target.visible = false;
                 _ui.m_dialogHead.target.visible = true;
                 _ui.m_dialogHead.m_txtName.text = roleName;
                 _ui.m_dialogHead.m_comphead.m_head.visible = false;
@@ -433,11 +463,10 @@ namespace GFGGame
                 }
                 _wordTextField = _ui.m_dialogHead.m_txtContent;
                 _arrow = _ui.m_dialogHead.m_iconNext;
+                lastTextFieldType = "head";
             }
             else if (!string.IsNullOrEmpty(headRes))
             {
-                _ui.m_dialogText.target.visible = false;
-                _ui.m_dialogName.target.visible = false;
                 _ui.m_dialogHead.target.visible = true;
                 _ui.m_dialogHead.m_txtName.text = roleName;
                 _ui.m_dialogHead.m_comphead.m_head.visible = true;
@@ -446,26 +475,32 @@ namespace GFGGame
                 _ui.m_dialogHead.m_comphead.m_head.url = ResPathUtil.GetNpcHeadPath(headRes);
                 _wordTextField = _ui.m_dialogHead.m_txtContent;
                 _arrow = _ui.m_dialogHead.m_iconNext;
+                lastTextFieldType = "head";
             }
             else if (!string.IsNullOrEmpty(roleName))
             {
-                _ui.m_dialogText.target.visible = false;
                 _ui.m_dialogName.target.visible = true;
-                _ui.m_dialogHead.target.visible = false;
                 _ui.m_dialogName.m_txtName.text = roleName;
                 _wordTextField = _ui.m_dialogName.m_txtContent;
                 _arrow = _ui.m_dialogName.m_iconNext;
+
+                if (!lastTextFieldType.Equals("name"))
+                {
+                    lastTextFieldType = "name";
+                    _ui.m_t0.Play();
+
+                }
             }
             else
             {
                 _ui.m_dialogText.target.visible = true;
-                _ui.m_dialogName.target.visible = false;
-                _ui.m_dialogHead.target.visible = false;
                 _wordTextField = _ui.m_dialogText.m_txtContent;
                 _arrow = _ui.m_dialogText.m_iconNext;
+                lastTextFieldType = "text";
             }
             _wordList = Regex.Split(words, "&&");
             _wordIndex = 0;
+
             ShowNextDialog();
         }
 
@@ -485,7 +520,8 @@ namespace GFGGame
                 {
                     _wordTextField.data = null;
                 }
-                StartShowLetters();
+
+                Timers.inst.StartCoroutine(StartShowLetters());
             }
             else
             {
@@ -530,13 +566,22 @@ namespace GFGGame
             }
         }
 
-        private void StartShowLetters()
+        private IEnumerator StartShowLetters()
         {
             _isShowLetters = true;
             _arrow.target.visible = false;
             _wordTextField.verticalAlign = VertAlignType.Top;
             _wordTextField.text = "";
             ArrayList letters = StoryUtil.GetLettersList(_currentWords);
+
+            if (StoryDialogDataManager.Instance.waitPicFade)
+            {
+                StoryDialogDataManager.Instance.waitPicFade = false;
+                _canClickBtnNext = false;
+                yield return new WaitForSeconds(0.4f);
+                _canClickBtnNext = true;
+            }
+
             Timers.inst.Add(GameConst.LETTERS_INTERVAL_MAX / _speedAutoPlay, 0, UpdateLetters, letters);
         }
 

+ 0 - 2
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs

@@ -41,7 +41,6 @@ namespace GFGGame
             _ui.m_btnSetting.onClick.Add(OnBtnSettingClick);
             _ui.m_comHead.GetChild("comHead").asCom.onClick.Add(OnComHeadClick);
 
-
             _ui.m_list.itemRenderer = RenderListItem;
             _ui.m_list.onClickItem.Add(OnListItemClick);
             _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("xc_bjbj");
@@ -54,7 +53,6 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead);
             EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
             EventAgent.AddEventListener(ConstMessage.DOWNLOAD_FINISH, UpdateList);
-
         }
         protected override void OnShown()
         {

+ 5 - 2
GameClient/Assets/Game/HotUpdate/Views/Task/TaskAchieveDetailView.cs

@@ -38,8 +38,9 @@ namespace GFGGame
         private void OnBtnBackClick()
         {
             ViewManager.Hide<TaskAchieveDetailView>();
+            ViewManager.Show<TaskAchieveView>();
         }
-    
+
         protected override void AddEventListener()
         {
             base.AddEventListener();
@@ -79,7 +80,9 @@ namespace GFGGame
 
         private void UpdateTask()   
         {
-            taskSubType = (int)this.viewData;
+            if (this.viewData != null)
+                taskSubType = (int)this.viewData;
+
             _ui.m_AchieveType.selectedIndex = taskSubType;
             UpdateProgressValue();
             _cfgsAll = TaskDataManager.Instance.GetTaskAchieveCfgs(funcType);

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Views/Task/TaskAchieveView.cs

@@ -34,6 +34,7 @@ namespace GFGGame
         private void OnBtnBackClick()
         {
             ViewManager.Hide<TaskAchieveView>();
+            ViewManager.Show<TaskView>();
         }
 
         private void OnClickListRarityItem(EventContext context)

+ 84 - 1
GameClient/Assets/ResIn/Prefab/SceneStoryDialog.prefab

@@ -29,7 +29,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 8934048990737965464}
-  m_RootOrder: 1
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!212 &893629500977733783
 SpriteRenderer:
@@ -192,7 +192,90 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 8934048990313003902}
+  - {fileID: 617406097305830421}
   - {fileID: 838069369391452446}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &9040093789670821962
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 617406097305830421}
+  - component: {fileID: 6005408906933267637}
+  m_Layer: 0
+  m_Name: BgNext
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &617406097305830421
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9040093789670821962}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 8934048990737965464}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &6005408906933267637
+SpriteRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 9040093789670821962}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: -1000
+  m_Sprite: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0
+  m_DrawMode: 0
+  m_Size: {x: 10.8046875, y: 24}
+  m_AdaptiveModeThreshold: 0.5
+  m_SpriteTileMode: 0
+  m_WasSpriteAssigned: 0
+  m_MaskInteraction: 0
+  m_SpriteSortPoint: 0

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


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png


+ 96 - 0
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6!a.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: ad77cebb0e32fc44dab1adf3b922b376
+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
+  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/CommonGame/CommonGame_atlas0_6.png


+ 96 - 0
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_atlas0_6.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 7e440ce062f9c3143be85e1bb9f04ebd
+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
+  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/CommonGame/CommonGame_fui.bytes


BIN
GameClient/Assets/ResIn/UI/CreateRole/CreateRole_fui.bytes


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_3!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_3.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_4!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_4.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_5!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_5.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_6!a.png


BIN
GameClient/Assets/ResIn/UI/League/League_atlas0_6.png


BIN
GameClient/Assets/ResIn/UI/League/League_fui.bytes


BIN
GameClient/Assets/ResIn/UI/Mail/Mail_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Mail/Mail_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Mail/Mail_fui.bytes


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


BIN
GameClient/Assets/ResIn/UI/Task/Task_fui.bytes