zhaoyang 2 жил өмнө
parent
commit
7a58cd5b47
20 өөрчлөгдсөн 177 нэмэгдсэн , 61 устгасан
  1. 6 13
      FGUIProject/assets/RoleInfo/ChangeHead.xml
  2. 5 4
      FGUIProject/assets/RoleInfo/PersonalPhotoUI.xml
  3. 2 2
      FGUIProject/assets/RoleInfo/RoleInfoUI.xml
  4. 1 1
      FGUIProject/assets/RoleInfo/components/ComPhoto.xml
  5. 6 6
      FGUIProject/assets/RoleInfo/components/ListHeadBorderItem.xml
  6. 1 1
      FGUIProject/assets/RoleInfo/package.xml
  7. 1 0
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  8. 5 0
      GameClient/Assets/Game/HotUpdate/Data/ItemDataManager.cs
  9. 18 0
      GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs
  10. 44 10
      GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs
  11. 9 9
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ListHeadBorderItem.cs
  12. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_PersonalPhotoUI.cs
  13. 20 3
      GameClient/Assets/Game/HotUpdate/ServerProxy/ItemProxy.cs
  14. 3 1
      GameClient/Assets/Game/HotUpdate/Views/MainStory/StoryController.cs
  15. 1 0
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  16. 33 6
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/ChangeHeadView.cs
  17. 8 3
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/PersonalPhotoView.cs
  18. 11 2
      GameClient/Assets/Game/HotUpdate/Views/RoleInfo/RoleInfoView.cs
  19. BIN
      GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_atlas0.png
  20. BIN
      GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_fui.bytes

+ 6 - 13
FGUIProject/assets/RoleInfo/ChangeHead.xml

@@ -1,24 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="996,1180">
-  <controller name="c1" pages="0,,1," selected="1"/>
+  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <image id="n9_r9ri" name="n9" src="r9rii" fileName="images/grxx_ditup.png" xy="0,0"/>
-    <list id="n3_r9ri" name="list" xy="93,464" size="809,462" layout="flow_hz" overflow="scroll" defaultItem="ui://374k3dwvr9ri9" autoClearItems="true">
+    <list id="n3_r9ri" name="list" xy="86,464" size="814,462" layout="flow_hz" overflow="scroll" colGap="4" defaultItem="ui://374k3dwvr9ri9" autoClearItems="true">
       <gearDisplay controller="c1" pages="0"/>
       <item/>
       <item/>
       <item/>
       <item/>
       <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
-      <item/>
     </list>
-    <list id="n15_r9ri" name="listBorder" xy="73,464" size="861,462" layout="flow_hz" overflow="scroll" lineGap="-20" colGap="-20" defaultItem="ui://374k3dwvr9ri22" autoClearItems="true">
+    <list id="n15_r9ri" name="listBorder" xy="72,449" size="861,474" layout="flow_hz" overflow="scroll" lineGap="-20" colGap="-20" defaultItem="ui://374k3dwvv95qg3" autoClearItems="true">
       <gearDisplay controller="c1" pages="1"/>
       <item/>
       <item/>
@@ -35,14 +28,14 @@
     </list>
     <image id="n8_r9ri" name="n8" src="r9ri1x" fileName="images/hl_sczpxzdik.png" xy="205,96" size="585,76" group="n10_r9ri"/>
     <component id="n0_r9ri" name="btnTab0" src="r9ri6" fileName="components/Button1.xml" xy="225,93" group="n10_r9ri">
-      <Button icon="ui://374k3dwvr9rip" selectedIcon="ui://374k3dwvr9rin" controller="c1" page="0"/>
+      <Button checked="true" icon="ui://374k3dwvr9rip" selectedIcon="ui://374k3dwvr9rin" controller="c1" page="0"/>
     </component>
     <component id="n1_r9ri" name="btnTab1" src="r9ri6" fileName="components/Button1.xml" xy="520,94" group="n10_r9ri">
-      <Button checked="true" icon="ui://374k3dwvr9riq" selectedIcon="ui://374k3dwvr9rio" controller="c1" page="1"/>
+      <Button icon="ui://374k3dwvr9riq" selectedIcon="ui://374k3dwvr9rio" controller="c1" page="1"/>
     </component>
     <group id="n10_r9ri" name="n10" xy="205,93" size="585,84"/>
     <image id="n11_r9ri" name="n11" src="r9rim" fileName="images/grxx_xtxtx.png" xy="381,330" size="520,6" group="n12_r9ri"/>
-    <component id="n4_r9ri" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" xy="105,187" size="236,238" group="n12_r9ri" scale="1.2,1.2" pkg="eg2y0ldp"/>
+    <component id="n4_r9ri" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="105,187" size="236,238" group="n12_r9ri" scale="1.2,1.2"/>
     <text id="n5_r9ri" name="txtName" xy="394,263" size="129,56" group="n12_r9ri" font="ui://eg2y0ldpwonotja" fontSize="42" color="#ab8759" text="头像名"/>
     <text id="n6_r9ri" name="txtDesc" xy="394,345" size="138,46" group="n12_r9ri" fontSize="34" color="#ceb599" text="头像描述"/>
     <group id="n12_r9ri" name="n12" xy="105,187" size="796,238"/>

+ 5 - 4
FGUIProject/assets/RoleInfo/PersonalPhotoUI.xml

@@ -5,20 +5,21 @@
       <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
     </loader>
     <component id="n7_r9ri" name="btnback" src="uyuxtj5" fileName="components/ButtonBack.xml" pkg="eg2y0ldp" xy="35,80" controller="c1,1">
-      <relation target="" sidePair="left-left,top-top"/>
       <Button icon="ui://eg2y0ldpuyuxtj4"/>
       <property target="loaTitle" propertyId="1" value="ui://374k3dwvr9ri1w"/>
     </component>
     <image id="n5_r9ri" name="n5" src="r9ri18" fileName="images/grxx_grxcxc.png" xy="327,195"/>
     <list id="n0_r9ri" name="list" xy="22,345" size="1035,1575" layout="flow_hz" overflow="scroll" lineGap="40" colGap="10" defaultItem="ui://374k3dwvr9ri1v" autoClearItems="true">
-      <relation target="" sidePair="bottomext-bottom"/>
+      <relation target="" sidePair="top-top,bottomext-bottom"/>
       <item/>
       <item/>
       <item/>
       <item/>
     </list>
     <image id="n8_r9ri" name="n8" src="r9ri12o" fileName="images/hl_ddandik.png" pkg="eg2y0ldp" xy="391,811" group="n10_r9ri"/>
-    <text id="n9_r9ri" name="n9" xy="387,934" size="305,52" group="n10_r9ri" fontSize="38" color="#ac9b7f" text="暂未添加任何作品"/>
-    <group id="n10_r9ri" name="grpNothing" xy="387,811" size="305,298"/>
+    <text id="n9_r9ri" name="n9" xy="387,934" size="305,51" group="n10_r9ri" fontSize="38" color="#ac9b7f" text="暂未添加任何作品"/>
+    <group id="n10_r9ri" name="grpNothing" xy="387,811" size="305,298" advanced="true">
+      <relation target="" sidePair="center-center,middle-middle"/>
+    </group>
   </displayList>
 </component>

+ 2 - 2
FGUIProject/assets/RoleInfo/RoleInfoUI.xml

@@ -10,8 +10,8 @@
     <component id="n18_d4iw" name="btnHelp" src="d4iw6p" fileName="components/ButtonHelp.xml" xy="983,129">
       <Button title="?" titleColor="#000000"/>
     </component>
-    <component id="n52_r9ri" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,90"/>
-    <component id="n33_r9ri" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" xy="96,147" group="n53_oqa1" scale="1.3,1.3" pkg="eg2y0ldp"/>
+    <component id="n52_r9ri" name="btnBack" src="9xlo8" fileName="components/ButtonBack1.xml" pkg="eg2y0ldp" xy="35,80"/>
+    <component id="n33_r9ri" name="comHead" src="r9ri1h" fileName="components/ComHead.xml" pkg="eg2y0ldp" xy="96,147" group="n53_oqa1" scale="1.3,1.3"/>
     <image id="n29_r9ri" name="n29" src="r9ri24" fileName="images/zjm_dj_1.png" xy="295,317" group="n53_oqa1"/>
     <text id="n30_r9ri" name="txtLvl" xy="304,324" size="34,34" group="n53_oqa1" fontSize="24" color="#ffffff" align="center" text="99">
       <relation target="n29_r9ri" sidePair="center-center,middle-middle"/>

+ 1 - 1
FGUIProject/assets/RoleInfo/components/ComPhoto.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="482,432" overflow="hidden">
   <displayList>
-    <loader id="n49_r9ri" name="loaPhoto" xy="0,48" pivot="0.5,0.5" size="482,432" url="ui://374k3dwvr9ri1n" align="center" vAlign="middle" fill="scaleNoBorder"/>
+    <loader id="n49_r9ri" name="loaPhoto" xy="0,4" pivot="0.5,0.5" size="482,593" url="ui://374k3dwvr9ri1n" align="center" vAlign="middle" fill="scaleNoBorder"/>
   </displayList>
 </component>

+ 6 - 6
FGUIProject/assets/RoleInfo/components/ListHeadBorderItem.xml

@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="230,230">
+<component size="230,230" extention="Button">
   <controller name="button" pages="0,up,1,down" selected="0"/>
   <displayList>
-    <graph id="n6_r9ri" name="n6" xy="34,38" pivot="0.5,0.5" size="157,157" group="n10_r9ri" aspect="true" type="eclipse" lineSize="0" fillColor="#ffeed5be"/>
-    <loader id="n4_r9ri" name="loaIcon" xy="34,38" size="155,157" group="n10_r9ri" url="ui://374k3dwvr9ri1z" fill="scale"/>
-    <image id="n5_r9ri" name="n5" src="r9ri1y" fileName="images/grxx_txtxczy.png" xy="33,37" group="n10_r9ri">
+    <loader id="n4_v95q" name="loaIcon" xy="34,38" size="155,157" url="ui://374k3dwvr9ri1z" fill="scale"/>
+    <image id="n5_v95q" name="n5" src="r9ri1y" fileName="images/grxx_txtxczy.png" xy="33,37">
       <gearDisplay controller="button" pages="1"/>
     </image>
-    <loader id="n7_r9ri" name="loaBorder" xy="0,13" pivot="0.5,0.5" size="230,203" group="n10_r9ri" aspect="true" url="ui://374k3dwvr9ri23" autoSize="true"/>
-    <group id="n10_r9ri" name="n10" xy="0,13" size="230,203"/>
+    <loader id="n6_v95q" name="loaBorder" xy="0,13" pivot="0.5,0.5" size="230,203" aspect="true" touchable="false" url="ui://374k3dwvr9ri23" autoSize="true"/>
+    <image id="n7_v95q" name="imgNew" src="r9ril" fileName="images/grxx_xinxin.png" xy="154,45"/>
   </displayList>
+  <Button mode="Radio"/>
 </component>

+ 1 - 1
FGUIProject/assets/RoleInfo/package.xml

@@ -73,11 +73,11 @@
     <image id="r9ri1z" name="grxx_txtxya_1.png" path="/images/"/>
     <image id="r9ri20" name="grxx_xtkk_1.png" path="/images/"/>
     <component id="r9ri21" name="Component1.xml" path="/components/"/>
-    <component id="r9ri22" name="ListHeadBorderItem.xml" path="/components/"/>
     <image id="r9ri23" name="grxx_xtkk_2.png" path="/images/"/>
     <image id="r9ri24" name="zjm_dj_1.png" path="/images/"/>
     <image id="oqa1g1" name="xc_qxxzxd.png" path="/images/"/>
     <component id="v95qg2" name="OtherRoleInfoUI.xml" path="/" exported="true"/>
+    <component id="v95qg3" name="ListHeadBorderItem.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\RoleInfo" packageCount="2" genCode="true"/>
 </packageDescription>

+ 1 - 0
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -169,6 +169,7 @@ namespace GFGGame
             BagDataManager.Instance.Clear();
             PoemPhotoDataManager.Instance.Clear();
             PoemGalleryDataManager.Instance.Clear();
+            RoleInfoManager.Instance.Clear();
             GameGlobal.zoneScene.GetComponent<SessionComponent>()?.Disconnect();
             GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();
             GameGlobal.zoneScene.GetComponent<AccountInfoComponent>()?.Clear();

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

@@ -62,6 +62,11 @@ namespace GFGGame
             if (itemCfg.itemType == ConstItemType.HEAD)
             {
                 RoleInfoManager.Instance.Add(itemID);
+                if (GameGlobal.DataInited)
+                {
+                    RoleInfoManager.Instance.AddNew(itemID);
+                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+                }
             }
             PhotographDataManager.Instance.Add(itemID);
             EventAgent.DispatchEvent(ConstMessage.ITEM_CHANGED, itemID);

+ 18 - 0
GameClient/Assets/Game/HotUpdate/Data/RedDotDataManager.cs

@@ -202,5 +202,23 @@ namespace GFGGame
             return TravelDataManager.Instance.GetGuideRewardStateByAreaId(areaId) == ConstBonusStatus.CAN_GET;
 
         }
+
+        /// <summary>
+        /// 头像-获得新头像红点
+        /// </summary>
+        /// <returns></returns>
+        public bool GetHeadRed()
+        {
+            return RoleInfoManager.Instance.newHeadDatas.Count > 0;
+        }
+        /// <summary>
+        /// 头像-获得新头像框红点
+        /// </summary>
+        /// <returns></returns>
+        public bool GetHeadBorderRed()
+        {
+            return RoleInfoManager.Instance.newHeadBorderDatas.Count > 0;
+        }
+
     }
 }

+ 44 - 10
GameClient/Assets/Game/HotUpdate/Data/RoleInfoManager.cs

@@ -12,6 +12,8 @@ namespace GFGGame
         {
             _headDatas.Clear();
             _headBorderDatas.Clear();
+            _newHeadDatas.Clear();
+            _newHeadBorderDatas.Clear();
         }
 
         private List<int> _headDatas = new List<int>();
@@ -19,7 +21,6 @@ namespace GFGGame
         {
             get
             {
-                SortHeadDatas();
                 return _headDatas;
             }
         }
@@ -29,7 +30,6 @@ namespace GFGGame
         {
             get
             {
-                SortHeadBorderDatas();
                 return _headBorderDatas;
             }
         }
@@ -42,11 +42,17 @@ namespace GFGGame
             ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemId);
             if (cfg.subType == 0)
             {
-                if (_headDatas.IndexOf(itemId) < 0) _headDatas.Add(itemId);
+                if (_headDatas.IndexOf(itemId) < 0)
+                {
+                    _headDatas.Add(itemId);
+                }
             }
             else if (cfg.subType == 1)
             {
-                if (_headBorderDatas.IndexOf(itemId) < 0) _headBorderDatas.Add(itemId);
+                if (_headBorderDatas.IndexOf(itemId) < 0)
+                {
+                    _headBorderDatas.Add(itemId);
+                }
             }
         }
 
@@ -64,18 +70,33 @@ namespace GFGGame
         }
 
         private List<int> _newHeadDatas = new List<int>();
+        public List<int> newHeadDatas
+        {
+            get
+            {
+                return _newHeadDatas;
+            }
+        }
         private List<int> _newHeadBorderDatas = new List<int>();
+        public List<int> newHeadBorderDatas
+        {
+            get
+            {
+                return _newHeadBorderDatas;
+            }
+        }
+
 
         public void AddNew(int itemId)
         {
             ItemCfg cfg = ItemCfgArray.Instance.GetCfg(itemId);
             if (cfg.subType == 0)
             {
-                if (_newHeadDatas.IndexOf(itemId) >= 0) _newHeadDatas.Add(itemId);
+                if (_newHeadDatas.IndexOf(itemId) < 0) _newHeadDatas.Add(itemId);
             }
             else if (cfg.subType == 1)
             {
-                if (_newHeadBorderDatas.IndexOf(itemId) >= 0) _newHeadBorderDatas.Add(itemId);
+                if (_newHeadBorderDatas.IndexOf(itemId) < 0) _newHeadBorderDatas.Add(itemId);
             }
         }
         public void RemoveNew(int itemId)
@@ -90,23 +111,36 @@ namespace GFGGame
                 if (_newHeadBorderDatas.IndexOf(itemId) >= 0) _newHeadBorderDatas.Remove(itemId);
             }
         }
+        public bool isNewHead(int itemId)
+        {
+            return _newHeadDatas.IndexOf(itemId) >= 0;
+        }
+        public bool isNewHeadBorder(int itemId)
+        {
+            return _newHeadBorderDatas.IndexOf(itemId) >= 0;
+        }
 
-        private void SortHeadDatas()
+        public void SortHeadDatas()
         {
             _headDatas.Sort((int a, int b) =>
             {
-                if (a == RoleDataManager.headId && b != RoleDataManager.headId) return a - b;
-                if (a != RoleDataManager.headId && b == RoleDataManager.headId) return b - a;
                 if (_newHeadDatas.IndexOf(a) >= 0 && _newHeadDatas.IndexOf(b) < 0) return a - b;
                 if (_newHeadDatas.IndexOf(a) < 0 && _newHeadDatas.IndexOf(b) >= 0) return b - a;
+                if (a == RoleDataManager.headId && b != RoleDataManager.headId) return b - a;
+                if (a != RoleDataManager.headId && b == RoleDataManager.headId) return a - b;
+
                 return b - a;
             });
         }
 
-        private void SortHeadBorderDatas()
+        public void SortHeadBorderDatas()
         {
             _headBorderDatas.Sort((int a, int b) =>
             {
+                if (_newHeadBorderDatas.IndexOf(a) >= 0 && _newHeadBorderDatas.IndexOf(b) < 0) return a - b;
+                if (_newHeadBorderDatas.IndexOf(a) < 0 && _newHeadBorderDatas.IndexOf(b) >= 0) return b - a;
+                if (a == RoleDataManager.headBorderId && b != RoleDataManager.headBorderId) return b - a;
+                if (a != RoleDataManager.headBorderId && b == RoleDataManager.headBorderId) return a - b;
                 return b - a;
             });
         }

+ 9 - 9
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_ListHeadBorderItem.cs

@@ -6,11 +6,11 @@ namespace UI.RoleInfo
 {
     public partial class UI_ListHeadBorderItem
     {
-        public GComponent target;
-        public Controller m_button;
+        public GButton target;
         public GLoader m_loaIcon;
         public GLoader m_loaBorder;
-        public const string URL = "ui://374k3dwvr9ri22";
+        public GImage m_imgNew;
+        public const string URL = "ui://374k3dwvv95qg3";
         public const string PACKAGE_NAME = "RoleInfo";
         public const string RES_NAME = "ListHeadBorderItem";
         private static UI_ListHeadBorderItem _proxy;
@@ -19,9 +19,9 @@ namespace UI.RoleInfo
         {
             var ui = new UI_ListHeadBorderItem();
             if(gObject == null)
-            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GComponent)gObject;
+            	ui.target =  (GButton)gObject;
             ui.Init(ui.target);
             return ui;
         }
@@ -34,9 +34,9 @@ namespace UI.RoleInfo
             }
             var ui = _proxy;
             if(gObject == null)
-            	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
+            	ui.target =  (GButton)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
-            	ui.target =  (GComponent)gObject;
+            	ui.target =  (GButton)gObject;
             ui.Init(ui.target);
             return ui;
         }
@@ -57,15 +57,15 @@ namespace UI.RoleInfo
 
         private void Init(GComponent comp)
         {
-            m_button = comp.GetController("button");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
             m_loaBorder = (GLoader)comp.GetChild("loaBorder");
+            m_imgNew = (GImage)comp.GetChild("imgNew");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_button = null;
             m_loaIcon = null;
             m_loaBorder = null;
+            m_imgNew = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/RoleInfo/UI_PersonalPhotoUI.cs

@@ -10,6 +10,7 @@ namespace UI.RoleInfo
         public GLoader m_loaBg;
         public GButton m_btnback;
         public GList m_list;
+        public GGroup m_grpNothing;
         public const string URL = "ui://374k3dwvr9ri4";
         public const string PACKAGE_NAME = "RoleInfo";
         public const string RES_NAME = "PersonalPhotoUI";
@@ -60,12 +61,14 @@ namespace UI.RoleInfo
             m_loaBg = (GLoader)comp.GetChild("loaBg");
             m_btnback = (GButton)comp.GetChild("btnback");
             m_list = (GList)comp.GetChild("list");
+            m_grpNothing = (GGroup)comp.GetChild("grpNothing");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_loaBg = null;
             m_btnback = null;
             m_list = null;
+            m_grpNothing = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 20 - 3
GameClient/Assets/Game/HotUpdate/ServerProxy/ItemProxy.cs

@@ -29,7 +29,16 @@ namespace GFGGame
                     CustomSuitDataManager.currentIndex = response.CustomSuitPos;
                     for (int i = 0; i < response.NewItems.Count; i++)
                     {
-                        DressUpMenuItemDataManager.AddNewDressItem(response.NewItems[i]);
+                        ItemCfg cfg = ItemCfgArray.Instance.GetCfg(response.NewItems[i]);
+                        if (cfg.itemType == ConstItemType.DRESS_UP)
+                        {
+                            DressUpMenuItemDataManager.AddNewDressItem(response.NewItems[i]);
+                        }
+                        else if (cfg.itemType == ConstItemType.HEAD)
+                        {
+                            RoleInfoManager.Instance.AddNew(response.NewItems[i]);
+                        }
+
                     }
                     //!!!必须放在最后,标记数据初始化完成
                     GameGlobal.DataInited = true;
@@ -50,8 +59,16 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    DressUpMenuItemDataManager.RemoveNewDressItem(response.ItemId);
-                    // EventAgent.DispatchEvent(ConstMessage.ITEM_READ);
+                    ItemCfg cfg = ItemCfgArray.Instance.GetCfg(response.ItemId);
+                    if (cfg.itemType == ConstItemType.DRESS_UP)
+                    {
+                        DressUpMenuItemDataManager.RemoveNewDressItem(response.ItemId);
+                    }
+                    else if (cfg.itemType == ConstItemType.HEAD)
+                    {
+                        RoleInfoManager.Instance.RemoveNew(response.ItemId);
+                        EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);
+                    }
                     return true;
                 }
             }

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

@@ -63,7 +63,9 @@ namespace GFGGame
         public static void ShowPriorStoryDialog()
         {
             InstanceZonesDataManager.currentLevelCfgId = 100001001;
-            ViewManager.Show(ViewName.STORY_DIALOG_VIEW, new object[] { MainStoryDataManager.priorId, false, new OnCompleteStoryDialogCall(OnCompletePriorStoryDialog) }, null, true);
+            string stroyStartID = "1";
+            // string stroyStartID = MainStoryDataManager.priorId;
+            ViewManager.Show(ViewName.STORY_DIALOG_VIEW, new object[] { stroyStartID, false, new OnCompleteStoryDialogCall(OnCompletePriorStoryDialog) }, null, true);
         }
 
         private static void OnCompletePriorStoryDialog(bool isSkip, object param)

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

@@ -573,6 +573,7 @@ namespace GFGGame
             RedDotController.Instance.SetComRedDot(_btnStore, RedDotDataManager.Instance.GetRechargeGiftFreeRed());
             RedDotController.Instance.SetComRedDot(_ui.m_btnField.target, RedDotDataManager.Instance.GetFieldRed());
             RedDotController.Instance.SetComRedDot(_ui.m_btnStudio.target, RedDotDataManager.Instance.GetStudioFilingRed());
+            RedDotController.Instance.SetComRedDot(_ui.m_headBar.target, RedDotDataManager.Instance.GetHeadRed() || RedDotDataManager.Instance.GetHeadBorderRed(), "", 5, 7);
         }
 
         private void CheckGuide(object param)

+ 33 - 6
GameClient/Assets/Game/HotUpdate/Views/RoleInfo/ChangeHeadView.cs

@@ -37,6 +37,7 @@ namespace GFGGame
             _ui.m_listBorder.SetVirtual();
             _ui.m_listBorder.itemRenderer = RenderListBorderItem;
             _ui.m_listBorder.onClickItem.Add(OnListBorderItemClick);
+
             _ui.m_c1.onChanged.Add(OnTabChange);
             _ui.m_btnSure.onClick.Add(OnBtnSureClick);
         }
@@ -44,15 +45,17 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+            RoleInfoManager.Instance.SortHeadDatas();
+            RoleInfoManager.Instance.SortHeadBorderDatas();
             OnTabChange();
-            _ui.m_list.numItems = RoleInfoManager.Instance.headDatas.Count;
-            _ui.m_listBorder.numItems = RoleInfoManager.Instance.headBorderDatas.Count; ;
-            _ui.m_list.selectedIndex = 0;
+            // _ui.m_list.selectedIndex = 0;
+            // _ui.m_listBorder.selectedIndex = 0;
         }
 
         protected override void OnHide()
         {
             base.OnHide();
+            _ui.m_c1.selectedIndex = 0;
         }
         private async void OnBtnSureClick()
         {
@@ -80,7 +83,15 @@ namespace GFGGame
             ItemCfg cfg = ItemCfgArray.Instance.GetCfg(headId);
             UI_ListHeadItem item = UI_ListHeadItem.Proxy(obj);
             item.m_loaIcon.url = ResPathUtil.GetHeadPath(cfg.res);
-            item.m_imgNew.visible = false;
+            item.m_imgNew.visible = RoleInfoManager.Instance.isNewHead(headId);
+            if (RoleInfoManager.Instance.isNewHead(headId))
+            {
+                ItemProxy.ReqSetItemRead(headId).Coroutine();
+            }
+            if (headId == RoleDataManager.headId)
+            {
+                _ui.m_list.selectedIndex = index;
+            }
             item.target.data = headId;
             UI_ListHeadItem.ProxyEnd();
         }
@@ -92,7 +103,15 @@ namespace GFGGame
             UI_ListHeadBorderItem item = UI_ListHeadBorderItem.Proxy(obj);
             item.m_loaIcon.url = ResPathUtil.GetHeadPath(headCfg.res);
             item.m_loaBorder.url = ResPathUtil.GetHeadBorderPath(borderCfg.res);
-            // item.m_imgNew.visible = false;
+            item.m_imgNew.visible = RoleInfoManager.Instance.isNewHeadBorder(headBorderId);
+            if (RoleInfoManager.Instance.isNewHeadBorder(headBorderId))
+            {
+                ItemProxy.ReqSetItemRead(headBorderId).Coroutine();
+            }
+            if (headBorderId == RoleDataManager.headBorderId)
+            {
+                _ui.m_listBorder.selectedIndex = index;
+            }
             item.target.data = headBorderId;
             UI_ListHeadBorderItem.ProxyEnd();
         }
@@ -115,6 +134,14 @@ namespace GFGGame
         {
             _selectHeadId = RoleDataManager.headId;
             _selectHeadBorderId = RoleDataManager.headBorderId;
+            if (_ui.m_c1.selectedIndex == 0)
+            {
+                _ui.m_list.numItems = RoleInfoManager.Instance.headDatas.Count;
+            }
+            else
+            {
+                _ui.m_listBorder.numItems = RoleInfoManager.Instance.headBorderDatas.Count; ;
+            }
             UpdateView();
         }
         private void UpdateView()
@@ -122,7 +149,7 @@ namespace GFGGame
             ItemCfg headCfg = ItemCfgArray.Instance.GetCfg(_selectHeadId);
             ItemCfg headBorderCfg = ItemCfgArray.Instance.GetCfg(_selectHeadBorderId);
 
-            RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, RoleDataManager.headId, RoleDataManager.headBorderId);
+            RoleInfoManager.Instance.UpdateHead(_ui.m_comHead, _selectHeadId, _selectHeadBorderId);
             if (_ui.m_c1.selectedIndex == 0)
             {
                 _ui.m_txtName.text = headCfg.name;

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

@@ -26,8 +26,9 @@ namespace GFGGame
             packageName = UI_PersonalPhotoUI.PACKAGE_NAME;
             _ui = UI_PersonalPhotoUI.Create();
             this.viewCom = _ui.target;
-            this.viewCom.Center();
-            this.modal = true;
+            isfullScreen = true;
+
+            _ui.m_btnback.onClick.Add(OnBtnBackClick);
 
             _ui.m_list.SetVirtual();
             _ui.m_list.itemRenderer = RenderListItem;
@@ -42,13 +43,17 @@ namespace GFGGame
             _showIndex = (int)this.viewData;
             _showPictureId = RoleDataManager.photoDatas[_showIndex];
             _ui.m_list.numItems = PoemPhotoDataManager.Instance.PersonalPhotoInfos.Count;
+            _ui.m_grpNothing.visible = _ui.m_list.numItems == 0;
         }
 
         protected override void OnHide()
         {
             base.OnHide();
         }
-
+        private void OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(PersonalPhotoView).FullName);
+        }
         private void RenderListItem(int index, GObject obj)
         {
             PoemPhotoData photoData = PoemPhotoDataManager.Instance.PersonalPhotoInfos[index];

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

@@ -51,6 +51,8 @@ namespace GFGGame
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_NAME, UpdateRoleName);
             EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead);
+            EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
+
         }
         protected override void OnShown()
         {
@@ -71,6 +73,7 @@ namespace GFGGame
             _ui.m_btnFieldGuide.title = string.Format("套装收集度:{0}%", RoleInfoManager.Instance.GetGuideProgress());
             _ui.m_list.numItems = RoleDataManager.photoDatas.Count;
             UpdateHead();
+            UpdateRedDot();
         }
 
         protected override void OnHide()
@@ -85,7 +88,8 @@ namespace GFGGame
         {
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.CHANGE_ROLE_NAME, UpdateRoleName);
-            EventAgent.AddEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead);
+            EventAgent.RemoveEventListener(ConstMessage.CHANGE_ROLE_HEAD, UpdateHead);
+            EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot);
 
         }
         private void UpdateRoleName()
@@ -112,7 +116,7 @@ namespace GFGGame
         {
             GObject obj = context.data as GObject;
             int index = (int)obj.data;
-            ViewManager.Show<PersonalPhotoView>(null, new object[] { typeof(RoleInfoView).FullName, index });
+            ViewManager.Show<PersonalPhotoView>(index, new object[] { typeof(RoleInfoView).FullName, this.viewData });
             this.Hide();
         }
 
@@ -155,5 +159,10 @@ namespace GFGGame
         {
             ViewManager.Show<ChangeHeadView>(null, new object[] { typeof(RoleInfoView).FullName, this.viewData });
         }
+
+        private void UpdateRedDot()
+        {
+            RedDotController.Instance.SetComRedDot(_ui.m_comHead, RedDotDataManager.Instance.GetHeadRed() || RedDotDataManager.Instance.GetHeadBorderRed(), "", -44, 47);
+        }
     }
 }

BIN
GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_atlas0.png


BIN
GameClient/Assets/ResIn/UI/RoleInfo/RoleInfo_fui.bytes