Просмотр исходного кода

Merge branch 'master' of http://10.108.64.190:3000/gfg/client

guodong 1 год назад
Родитель
Сommit
b436f44657
29 измененных файлов с 453 добавлено и 39 удалено
  1. 3 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAfternoonTea/UI_RewardTips.cs
  2. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailList.cs
  3. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailList.cs.meta
  4. 4 3
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailUI.cs
  5. 6 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ListCardItem.cs
  6. 18 3
      GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs
  7. 2 1
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs
  8. 12 2
      GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs
  9. 47 15
      GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs
  10. 7 1
      GameClient/Assets/Game/HotUpdate/Views/DressUp/ArenaDressUpFightView.cs
  11. 2 3
      GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideDetailView.cs
  12. 13 2
      GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxPreShowView.cs
  13. 3 3
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs
  14. 13 2
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs
  15. 1 1
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  16. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0!a.png
  17. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0.png
  18. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_1!a.png
  19. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_1.png
  20. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_2!a.png
  21. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_2.png
  22. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3!a.png
  23. 120 0
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3!a.png.meta
  24. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3.png
  25. 120 0
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3.png.meta
  26. BIN
      GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_fui.bytes
  27. BIN
      GameClient/Assets/ResIn/UI/Card/Card_fui.bytes
  28. BIN
      GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes
  29. BIN
      GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_fui.bytes

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/ActivityAfternoonTea/UI_RewardTips.cs

@@ -8,10 +8,10 @@ namespace UI.ActivityAfternoonTea
     {
         public GComponent target;
         public GLoader m_btnBack;
-        public GTextField m_name;
         public GTextField m_desc;
         public GList m_rewardList;
         public GImage m_back;
+        public GTextField m_name;
         public GGraph m_effect1;
         public GGraph m_effect2;
         public const string URL = "ui://wpsqkdbzqbf41v";
@@ -62,20 +62,20 @@ namespace UI.ActivityAfternoonTea
         private void Init(GComponent comp)
         {
             m_btnBack = (GLoader)comp.GetChild("btnBack");
-            m_name = (GTextField)comp.GetChild("name");
             m_desc = (GTextField)comp.GetChild("desc");
             m_rewardList = (GList)comp.GetChild("rewardList");
             m_back = (GImage)comp.GetChild("back");
+            m_name = (GTextField)comp.GetChild("name");
             m_effect1 = (GGraph)comp.GetChild("effect1");
             m_effect2 = (GGraph)comp.GetChild("effect2");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_btnBack = null;
-            m_name = null;
             m_desc = null;
             m_rewardList = null;
             m_back = null;
+            m_name = null;
             m_effect1 = null;
             m_effect2 = null;
             if(disposeTarget && target != null)

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailList.cs

@@ -0,0 +1,71 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Card
+{
+    public partial class UI_CardDetailList
+    {
+        public GComponent target;
+        public GList m_listCard;
+        public const string URL = "ui://7l6lvkaysl2ntr0";
+        public const string PACKAGE_NAME = "Card";
+        public const string RES_NAME = "CardDetailList";
+        private static UI_CardDetailList _proxy;
+
+        public static UI_CardDetailList Create(GObject gObject = null)
+        {
+            var ui = new UI_CardDetailList();
+            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_CardDetailList Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_CardDetailList();
+            }
+            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_listCard = (GList)comp.GetChild("listCard");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_listCard = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailList.cs.meta

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

+ 4 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Card/UI_CardDetailUI.cs

@@ -11,7 +11,7 @@ namespace UI.Card
         public GButton m_btnBack;
         public GButton m_btnFilter;
         public GList m_listRole;
-        public GList m_listCard;
+        public UI_CardDetailList m_comListCard;
         public GTextField m_txtTips;
         public Transition m_In;
         public Transition m_Refresh;
@@ -66,7 +66,7 @@ namespace UI.Card
             m_btnBack = (GButton)comp.GetChild("btnBack");
             m_btnFilter = (GButton)comp.GetChild("btnFilter");
             m_listRole = (GList)comp.GetChild("listRole");
-            m_listCard = (GList)comp.GetChild("listCard");
+            m_comListCard = (UI_CardDetailList)UI_CardDetailList.Create(comp.GetChild("comListCard"));
             m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_In = comp.GetTransition("In");
             m_Refresh = comp.GetTransition("Refresh");
@@ -77,7 +77,8 @@ namespace UI.Card
             m_btnBack = null;
             m_btnFilter = null;
             m_listRole = null;
-            m_listCard = null;
+            m_comListCard.Dispose();
+            m_comListCard = null;
             m_txtTips = null;
             m_In = null;
             m_Refresh = null;

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_ListCardItem.cs

@@ -12,6 +12,8 @@ namespace UI.CommonGame
         public UI_ComCardMask m_comCard;
         public GLoader m_loaBorder;
         public GLoader m_loaRarity;
+        public GGraph m_holderGoldBg;
+        public GGraph m_holderPurpleBg;
         public GTextField m_txtLv;
         public GTextField m_txtName;
         public GLoader m_loaMainScore;
@@ -72,6 +74,8 @@ namespace UI.CommonGame
             m_comCard = (UI_ComCardMask)UI_ComCardMask.Create(comp.GetChild("comCard"));
             m_loaBorder = (GLoader)comp.GetChild("loaBorder");
             m_loaRarity = (GLoader)comp.GetChild("loaRarity");
+            m_holderGoldBg = (GGraph)comp.GetChild("holderGoldBg");
+            m_holderPurpleBg = (GGraph)comp.GetChild("holderPurpleBg");
             m_txtLv = (GTextField)comp.GetChild("txtLv");
             m_txtName = (GTextField)comp.GetChild("txtName");
             m_loaMainScore = (GLoader)comp.GetChild("loaMainScore");
@@ -89,6 +93,8 @@ namespace UI.CommonGame
             m_comCard = null;
             m_loaBorder = null;
             m_loaRarity = null;
+            m_holderGoldBg = null;
+            m_holderPurpleBg = null;
             m_txtLv = null;
             m_txtName = null;
             m_loaMainScore = null;

+ 18 - 3
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -142,18 +142,17 @@ namespace GFGGame
         }
 
         //更换搭配
-        public static async ETTask<bool> ReqChangeArenaDressup(int index, int cardId, List<int> itemList)
+        public static async ETTask<bool> ReqChangeArenaDressup(int index, int cardId, List<int> itemList,List<long> scoreList = null)
         {
 
             S2C_ChangeArenaDressup response = null;
-            response = (S2C_ChangeArenaDressup)await MessageHelper.SendToServer(new C2S_ChangeArenaDressup() { Index = index, CardId = cardId, EquipIds = itemList });
+            response = (S2C_ChangeArenaDressup)await MessageHelper.SendToServer(new C2S_ChangeArenaDressup() { Index = index, CardId = cardId, EquipIds = itemList ,SelfFightPower = scoreList});
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     ArenaDataManager.Instance.DressupList[index].cardId = cardId;
                     ArenaDataManager.Instance.DressupList[index].itemList = itemList;
-
                     return true;
                 }
             }
@@ -470,5 +469,21 @@ namespace GFGGame
 
             return fightData;
         }
+
+        //获取对手战力
+        public static async ETTask<bool> ReqArenaTargetPowerScore(long targetId,List<long> targetPawerList,int targetIndex)
+        {
+            var response = (S2C_GetTargetNewFightPower)await MessageHelper.SendToServer(new C2S_GetTargetNewFightPower() { RoleId = RoleDataManager.roleId, TargetRoleId = targetId });
+            if (!(response is { Error: ErrorCode.ERR_Success })) return false;
+            for(int i =0;i<targetPawerList.Count;i++)
+            {
+                if(targetPawerList[i] != response.TargetFightPower[i])
+                {
+                    ArenaDataManager.Instance.Targets[targetIndex].FightPower = response.TargetFightPower;
+                    return false;
+                }
+            }
+            return true;
+        }
     }
 }

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaDressInfoView.cs

@@ -162,7 +162,8 @@ namespace GFGGame
                 ArenaDataManager.Instance.SetMineFightAttr(roleData, scoreType);
                 ScoreSystemData.Instance.SetEquipScoresWithPartId(roleData);
                 _roleDatas = ArenaDataManager.Instance.DressupList;
-                bool result = await ArenaSproxy.ReqChangeArenaDressup(i, roleData.cardId, roleData.itemList);
+                List<long> fightScoreDatas = ArenaDataManager.Instance.GetFightScoreList(_roleDatas);
+                bool result = await ArenaSproxy.ReqChangeArenaDressup(i, roleData.cardId, roleData.itemList , fightScoreDatas);
                 if (!result)
                 {
                     PromptController.Instance.ShowFloatTextPrompt("保存失败");

+ 12 - 2
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -427,13 +427,23 @@ namespace GFGGame
             UI_ListTargetItem.ProxyEnd();
         }
 
-        private void OnSelectRoleClick(EventContext context)
+        private async void OnSelectRoleClick(EventContext context)
         {
             int index = (int)(context.sender as GObject).data;
             _targetData = _dataManager.Targets[index];
+            if (_targetData.Type != FightTargetType.ROBOT)
+            {
+                bool result = await ArenaSproxy.ReqArenaTargetPowerScore( _targetData.RoleInfo.roleId, _targetData.FightPower, index);
+                if(!result)
+                {
+                    _ui.m_listTarget.numItems = _dataManager.Targets.Count;
+                    PromptController.Instance.ShowFloatTextPrompt("玩家战力发生变化,请重新选择");
+                    return;
+                }
+            }
+
             this.viewData = _targetData;
             _dataManager.SelectTargetIndex = index;
-
             _ui.m_c1.selectedIndex = 1;
             UpdateRole();
         }

+ 47 - 15
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -12,6 +12,7 @@ namespace GFGGame
         private UI_CardDetailUI _ui;
         private const int listRoleCount = 5;
         private bool _startInAnim;
+        private Dictionary<string, EffectUI> _effectUIDic = new Dictionary<string, EffectUI>();
 
         public override void Dispose()
         {
@@ -36,9 +37,9 @@ namespace GFGGame
             // _ui.m_btnHome.onClick.Add(OnClickBtnHome);
             _ui.m_btnFilter.onClick.Add(OnclickBtnFilter);
 
-            _ui.m_listCard.itemRenderer = RenderListCardItem;
-            _ui.m_listCard.onClickItem.Add(OnClickListCardItem);
-            _ui.m_listCard.SetVirtual();
+            _ui.m_comListCard.m_listCard.itemRenderer = RenderListCardItem;
+            _ui.m_comListCard.m_listCard.onClickItem.Add(OnClickListCardItem);
+            _ui.m_comListCard.m_listCard.SetVirtual();
 
             _ui.m_listRole.itemRenderer = RenderListRoleItem;
             _ui.m_listRole.onClickItem.Add(OnClickListRoleItem);
@@ -68,20 +69,26 @@ namespace GFGGame
             int listRoleSelect = this.viewData != null ? (int)this.viewData : 0;
             _ui.m_listRole.selectedIndex = listRoleSelect;
             _ui.m_listRole.numItems = listRoleCount;
-            this.UpdateCardList();
+            UpdateCardList();
 
             Timers.inst.AddUpdate(CheckGuide);
 
             if (_startInAnim)
             {
                 _startInAnim = false;
-                _ui.m_listCard.scrollPane.ScrollTop();
+                _ui.m_comListCard.m_listCard.scrollPane.ScrollTop();
                 _ui.m_In.Play();
             }
         }
         protected override void OnHide()
         {
             base.OnHide();
+            foreach (var v in _effectUIDic)
+            {
+                EffectUIPool.Recycle(v.Value);
+            }
+            _effectUIDic.Clear();
+
             this.Clear();
             Timers.inst.Remove(CheckGuide);
         }
@@ -99,7 +106,7 @@ namespace GFGGame
         private void FilterItems()
         {
             _ui.m_Refresh.Play();
-            _ui.m_listCard.scrollPane.ScrollTop();
+            _ui.m_comListCard.m_listCard.scrollPane.ScrollTop();
             UpdateCardList();
         }
 
@@ -112,16 +119,21 @@ namespace GFGGame
                 cardList = CardDataManager.FilterCardList(cardList);
             }
             cardList = CardDataManager.SortItemList(cardList);
-            _ui.m_listCard.data = cardList;
-            _ui.m_listCard.numItems = cardList.Count;
+            foreach (var v in _effectUIDic)
+            {
+                EffectUIPool.Recycle(v.Value);
+            }
+            _effectUIDic.Clear();
+            _ui.m_comListCard.m_listCard.data = cardList;
+            _ui.m_comListCard.m_listCard.numItems = cardList.Count;
 
-            _ui.m_txtTips.visible = _ui.m_listCard.numItems == 0 ? true : false;
+            _ui.m_txtTips.visible = _ui.m_comListCard.m_listCard.numItems == 0 ? true : false;
         }
 
         private void RenderListCardItem(int index, GObject obj)
         {
             UI_ListCardItem listItem = UI_ListCardItem.Proxy(obj);
-            CardData data = (_ui.m_listCard.data as List<CardData>)[index];//CardDataManager.GetCardList(_ui.m_listRole.selectedIndex)[index];
+            CardData data = (_ui.m_comListCard.m_listCard.data as List<CardData>)[index];//CardDataManager.GetCardList(_ui.m_listRole.selectedIndex)[index];
             data.index = index;
             data.pageIndex = _ui.m_listRole.selectedIndex;
             listItem.target.data = data;
@@ -134,6 +146,26 @@ namespace GFGGame
             listItem.m_txtName.text = data.itemCfg.name;
             RedDotController.Instance.SetComRedDot(listItem.target, RedDotDataManager.Instance.GetCardRed(data.id), "", 5, -10);
 
+            //if (data.itemCfg.rarity == 4)
+            //{
+            //    listItem.m_holderGoldBg.visible = true;
+            //    listItem.m_holderPurpleBg.visible = false;
+            //    if (!_effectUIDic.ContainsKey("gold" + obj.id))
+            //        _effectUIDic.Add("gold" + obj.id, EffectUIPool.CreateEffectUI(listItem.m_holderGoldBg, "ui_KP", "KP_Gold_Frame"));
+            //}
+            //else if (data.itemCfg.rarity == 3)
+            //{
+            //    listItem.m_holderPurpleBg.visible = true;
+            //    listItem.m_holderGoldBg.visible = false;
+            //    if (!_effectUIDic.ContainsKey("purple" + obj.id))
+            //        _effectUIDic.Add("purple" + obj.id, EffectUIPool.CreateEffectUI(listItem.m_holderPurpleBg, "ui_KP", "KP_Purple_Frame"));
+            //}
+            //else
+            //{
+            //    listItem.m_holderGoldBg.visible = false;
+            //    listItem.m_holderPurpleBg.visible = false;
+            //}
+
             int starLevelDodge = data.star / 5;
             listItem.m_starNumType.selectedIndex = data.itemCfg.starDescArr.Length - 1;
             for (int i = 0; i < data.itemCfg.starDescArr.Length; i++)
@@ -165,9 +197,9 @@ namespace GFGGame
             int index = (int)(gObject.data);
             _ui.m_listRole.selectedIndex = index;
 
-            this.UpdateCardList();
+            UpdateCardList();
 
-            _ui.m_listCard.scrollPane.ScrollTop();
+            _ui.m_comListCard.m_listCard.scrollPane.ScrollTop();
             _ui.m_Refresh.Play();
 
             UI_Button21 button = UI_Button21.Proxy(gObject);
@@ -195,7 +227,7 @@ namespace GFGGame
             // this._selectType = 0;
             CardDataManager._selectList.Clear();
             _ui.m_listRole.selectedIndex = 0;
-            _ui.m_listCard.selectedIndex = 0;
+            _ui.m_comListCard.m_listCard.selectedIndex = 0;
         }
 
         private void CheckGuide(object param)
@@ -215,9 +247,9 @@ namespace GFGGame
         {
             if (!ViewManager.CheckIsTopView(this.viewCom)) return;
 
-            GuideController.TryGuide(_ui.m_listCard, ConstGuideId.UP_CARD_LV, 3, "选择可升级的词牌。", 0);
+            GuideController.TryGuide(_ui.m_comListCard.m_listCard, ConstGuideId.UP_CARD_LV, 3, "选择可升级的词牌。", 0);
             GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.ENTER_CHAPTER_1, 1, "");
-            GuideController.TryGuide(_ui.m_listCard, ConstGuideId.UP_CARD_STAR, 3, "选择可升星的词牌。", 0);
+            GuideController.TryGuide(_ui.m_comListCard.m_listCard, ConstGuideId.UP_CARD_STAR, 3, "选择可升星的词牌。", 0);
 
             GuideController.TryGuide(_ui.m_btnBack, ConstGuideId.UP_CARD_STAR, 8, "");
             GuideController.TryCompleteGuide(ConstGuideId.UP_CARD_STAR, 8);

+ 7 - 1
GameClient/Assets/Game/HotUpdate/Views/DressUp/ArenaDressUpFightView.cs

@@ -22,6 +22,9 @@ namespace GFGGame
         private List<int> _currentList4 = new List<int>();
         private int _currentMenuType;
         private int _currentSuitId;
+
+        //暂存cardid
+        private int cardId;
         // private StoryLevelCfg _levelCfg;
         // private StoryFightCfg _fightCfg;
 
@@ -155,6 +158,7 @@ namespace GFGGame
             UpdateValueInfo();
             SendLog();
 
+            cardId = _roleData.cardId;
         }
 
         protected override void OnHide()
@@ -195,6 +199,7 @@ namespace GFGGame
                 AlertUI.Show("当前穿搭尚未保存,是否确定退出?")
                   .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
                 {
+                    _roleData.cardId = cardId;
                     GoBackToView();
                 });
             }
@@ -456,7 +461,8 @@ namespace GFGGame
             }
             else
             {
-                bool result = await ArenaSproxy.ReqChangeArenaDressup(_dataManager.SelectThemeIndex, 0, MyDressUpHelper.dressUpObj.itemList);
+                List<long> fightScoreDatas = ArenaDataManager.Instance.GetFightScoreList(ArenaDataManager.Instance.DressupList);
+                bool result = await ArenaSproxy.ReqChangeArenaDressup(_dataManager.SelectThemeIndex, 0, MyDressUpHelper.dressUpObj.itemList, fightScoreDatas);
                 if (result)
                 {
                     _itemList = new List<int>(MyDressUpHelper.dressUpObj.itemList);

+ 2 - 3
GameClient/Assets/Game/HotUpdate/Views/FieldGuide/SuitGuideDetailView.cs

@@ -161,10 +161,9 @@ namespace GFGGame
             listItem.m_txtName.text = suitCfg.name;
             listItem.m_loaderPic.url = ResPathUtil.GetFieldGuideIconPath(suitCfg.res);
             listItem.m_c1.SetSelectedIndex(suitCfg.rarity - 1);
-
-            _effectUIDic.Add(index, EffectUIPool.CreateEffectUI(listItem.m_holderBg, "ui_KP", "KP_Other_Gold_Frame"));
+            if((suitCfg.rarity - 1) == 3)
+                _effectUIDic.Add(index, EffectUIPool.CreateEffectUI(listItem.m_holderBg, "ui_KP", "KP_Other_Gold_Frame"));
             RarityIconController.UpdateRarityIcon(listItem.m_rarity, suitId, false, true);
-
             listItem.target.data = suitId;
             UpdateSuitStatusView(listItem);
             listItem.m_loaderBonusBox.target.onClick.Clear();

+ 13 - 2
GameClient/Assets/Game/HotUpdate/Views/LuckyBox/LuckyBoxPreShowView.cs

@@ -58,8 +58,19 @@ namespace GFGGame
             {
                 listItem.m_list.itemRenderer = ListItemRewardRender;
             }
-            listItem.m_list.data = luckyBoxBonusData.itemList;
-            listItem.m_list.numItems = luckyBoxBonusData.itemList.Count;
+            List<ItemData> bonusData = new List<ItemData>();
+            bool hasSame = false;
+            foreach (var info in luckyBoxBonusData.itemList) {
+                hasSame = false;
+                foreach (var infoBonus in bonusData) {
+                    if (info.id == infoBonus.id) 
+                        hasSame = true;
+                }
+                if(!hasSame)
+                    bonusData.Add(info);
+            }
+            listItem.m_list.data = bonusData;
+            listItem.m_list.numItems = bonusData.Count;
             listItem.m_list.ResizeToFit();
             listItem.target.height = listItem.m_list.y + listItem.m_list.height;
             UI_CompLuckyBoxBonusListItem.ProxyEnd();

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryCardChoose.cs

@@ -257,7 +257,7 @@ namespace GFGGame
                 ArenaDataManager dataManager = ArenaDataManager.Instance;
                 dataManager.DressupList[dataManager.SelectThemeIndex].cardId = cardId;
                 dataManager.SetMineFightAttr(dataManager.DressupList[dataManager.SelectThemeIndex],
-                    dataManager.SelectThemeIndex);
+                    dataManager.ThemeList[dataManager.SelectThemeIndex]);
                 EventAgent.DispatchEvent(ConstMessage.CARD_SELECTED);
             }
         }
@@ -288,8 +288,8 @@ namespace GFGGame
             if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
             {
                 ArenaDataManager dataManager = ArenaDataManager.Instance;
-                ArenaSproxy.ReqChangeArenaDressup(dataManager.SelectThemeIndex, cardId,
-                    MyDressUpHelper.dressUpObj.itemList).Coroutine();
+                List<long> fightScoreDatas = dataManager.GetFightScoreList(dataManager.DressupList);
+                ArenaSproxy.ReqChangeArenaDressup(dataManager.SelectThemeIndex, cardId,MyDressUpHelper.dressUpObj.itemList, fightScoreDatas).Coroutine();
                 if (InstanceZonesDataManager.FightScene == ConstInstanceZonesType.Arena)
                 {
                     //ViewManager.GoBackFrom(typeof(ArenaDressUpFightView).FullName);

+ 13 - 2
GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryDialogView.cs

@@ -8,6 +8,7 @@ using System;
 using YooAsset;
 using GFGGame.Launcher;
 using UnityEngine.UI;
+using System.Threading.Tasks;
 
 namespace GFGGame
 {
@@ -514,10 +515,10 @@ namespace GFGGame
                 if (!string.IsNullOrEmpty(headAniRes) || storyDialogCfg.suitId > 0)
                 {
                     //显示对话框半身像
-                    _ui.m_dialogHead.target.visible = true;
                     _ui.m_dialogHead.m_txtName.text = roleName;
                     _ui.m_dialogHead.m_comphead.m_head.visible = false;
                     _ui.m_dialogHead.m_comphead.m_holder.visible = true;
+                    _ui.m_dialogHead.m_txtContent.text = "";
 
                     var headAniCfg = HeadAniCfgArray.Instance.GetCfg(headAniRes);
                     if (headAniCfg != null && !string.IsNullOrEmpty(headAniCfg.headAni))
@@ -530,7 +531,6 @@ namespace GFGGame
                     else
                     {
                         //换装
-                        _ui.m_dialogHead.m_compDressUp.target.visible = true;
                         _ui.m_dialogHead.m_comphead.target.visible = false;
                         
                         //_dressUpObjUI.ResetSceneObj(80, true, false, sceneObject.transform.Find("Scene").gameObject, false);
@@ -554,7 +554,9 @@ namespace GFGGame
                             _dressUpObj.AddOrRemove(headAniCfg.faceId, true);
                             //_dressUpObjUI.UpdateWrapper(_ui.m_dialogHead.m_compDressUp.m_holder);
                         }
+                        ShowSelfHeadImg();
                     }
+                    _ui.m_dialogHead.target.visible = true;
                     _wordTextField = _ui.m_dialogHead.m_txtContent;
                     _arrow = _ui.m_dialogHead.m_iconNext;
                     lastTextFieldType = "head";
@@ -648,7 +650,16 @@ namespace GFGGame
                 //    OnStepComplete();
                 //}
             }
+        }
 
+        /// <summary>
+        /// 延迟显示头像,防止换装异步加载/换表情 未完成时显示了头像
+        /// </summary>
+        private async void ShowSelfHeadImg()
+        {
+            _ui.m_dialogHead.m_compDressUp.target.visible = false;
+            await Task.Delay(10);
+            _ui.m_dialogHead.m_compDressUp.target.visible = true;
         }
 
         private void ShowNextDialog()

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -927,7 +927,7 @@ namespace GFGGame
             if (_ui.m_btnTea.target.visible)
             {
                 if (redPointUpdateFrame == 19)
-                    RedDotController.Instance.SetComRedDot(_ui.m_btnTea.target, ActivityTeaDataManager.Instance.GetRewardRed(), "", -43, 2);
+                    RedDotController.Instance.SetComRedDot(_ui.m_btnTea.target, ActivityTeaDataManager.Instance.GetRewardRed(), "", -8, -1);
             }
 
             redPointUpdateFrame++;

BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0.png


BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_1!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_1.png


BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_2!a.png


BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_2.png


BIN
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3!a.png


+ 120 - 0
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3!a.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: 4d59a2aab5ef67b4bb691ad52fdabbe5
+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/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3.png


+ 120 - 0
GameClient/Assets/ResIn/UI/ActivityAfternoonTea/ActivityAfternoonTea_atlas0_3.png.meta

@@ -0,0 +1,120 @@
+fileFormatVersion: 2
+guid: ff234877776602b4ca347deaf03cd528
+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/ActivityAfternoonTea/ActivityAfternoonTea_fui.bytes


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


BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes


BIN
GameClient/Assets/ResIn/UI/FieldGuide/FieldGuide_fui.bytes