zhaoyang 2 жил өмнө
parent
commit
8b589e0fc5

+ 17 - 0
FGUIProject/assets/poem/ComGetReward.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="962,703">
+  <displayList>
+    <component id="n7_r9ri" name="n7" src="si5ztih" fileName="components/ComBg.xml" pkg="eg2y0ldp" xy="0,0" size="962,703"/>
+    <text id="n3_r9ri" name="n3" xy="329,60" size="232,61" group="n4_r9ri" font="ui://eg2y0ldpwonotja" fontSize="46" color="#8a7253" text="上期排名:"/>
+    <text id="n8_r9ri" name="txtRank" xy="569,60" size="64,61" group="n4_r9ri" font="ui://eg2y0ldpwonotja" fontSize="46" color="#cf7e78" text="666"/>
+    <group id="n4_r9ri" name="n4" xy="329,60" size="304,61" advanced="true">
+      <relation target="" sidePair="center-center"/>
+    </group>
+    <image id="n9_r9ri" name="n9" src="si5ztig" fileName="imgnew/tc_xiant.png" pkg="eg2y0ldp" xy="56,136"/>
+    <list id="n0_r9ri" name="list" xy="0,250" size="962,275" layout="row" overflow="hidden" scroll="horizontal" colGap="90" defaultItem="ui://eg2y0ldpj48o98" align="center" autoClearItems="true">
+      <item/>
+      <item/>
+      <item/>
+    </list>
+  </displayList>
+</component>

+ 11 - 13
FGUIProject/assets/poem/PoemGalleryRewardGetUI.xml

@@ -1,17 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="962,703">
+<component size="1080,1920">
   <displayList>
-    <component id="n7_r9ri" name="n7" src="si5ztih" fileName="components/ComBg.xml" pkg="eg2y0ldp" xy="0,0" size="962,703"/>
-    <text id="n3_r9ri" name="n3" xy="329,60" size="232,61" group="n4_r9ri" font="ui://eg2y0ldpwonotja" fontSize="46" color="#8a7253" text="上期排名:"/>
-    <text id="n8_r9ri" name="txtRank" xy="569,60" size="64,61" group="n4_r9ri" font="ui://eg2y0ldpwonotja" fontSize="46" color="#cf7e78" text="666"/>
-    <group id="n4_r9ri" name="n4" xy="329,60" size="304,61" advanced="true">
-      <relation target="" sidePair="center-center"/>
-    </group>
-    <image id="n9_r9ri" name="n9" src="si5ztig" fileName="imgnew/tc_xiant.png" pkg="eg2y0ldp" xy="56,136"/>
-    <list id="n0_r9ri" name="list" xy="0,250" size="962,275" layout="row" overflow="hidden" scroll="horizontal" colGap="90" defaultItem="ui://eg2y0ldpj48o98" align="center" autoClearItems="true">
-      <item/>
-      <item/>
-      <item/>
-    </list>
+    <loader id="n10_r9ri" name="loaBg" xy="0,0" size="1080,1920">
+      <relation target="" sidePair="width-width,height-height"/>
+    </loader>
+    <component id="n7_r9ri" name="comgetReward" src="r9ri13i" fileName="ComGetReward.xml" xy="59,608" pivot="0.5,0.5">
+      <relation target="" sidePair="center-center,middle-middle"/>
+    </component>
   </displayList>
+  <transition name="t0">
+    <item time="0" type="Scale" target="n7_r9ri" tween="true" startValue="1,1" endValue="0,0" duration="6" label2="update" ease="Circ.Out"/>
+    <item time="8" type="Scale" target="n7_r9ri" tween="true" startValue="0,0" endValue="1,1" duration="5" ease="Circ.Out"/>
+  </transition>
 </component>

+ 1 - 0
FGUIProject/assets/poem/package.xml

@@ -134,6 +134,7 @@
     <image id="r9ri13f" name="hl_phb_4.png" path="/imagesGallery/" scale="9grid" scale9grid="249,23,498,1120"/>
     <image id="r9ri13g" name="hl_phb_b_4.png" path="/imagesGallery/"/>
     <image id="r9ri13h" name="xc_hl.png" path="/images/"/>
+    <component id="r9ri13i" name="ComGetReward.xml" path="/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Poem" packageCount="2" genCode="true"/>
 </packageDescription>

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

@@ -241,6 +241,7 @@ namespace GFGGame
             PoemPhotoSProxy.ReqAllPhotoInfos().Coroutine();
             TravelSProxy.ReqTravelInfo().Coroutine();
             TravelSProxy.ReqTravelGuideInfo().Coroutine();
+            // PoemGallerySProxy.ReqGalleryTheme().Coroutine();
 
             int storageAutoPlay = StorageDataManager.Instance.GetStorageValue(ConstStorageId.STORAGE_AUTO_PLAY);
             EquipDataCache.cacher.autoPlay = storageAutoPlay <= 0 ? false : true;

+ 55 - 1
GameClient/Assets/Game/HotUpdate/Data/PoemGalleryDataManager.cs

@@ -43,7 +43,7 @@ namespace GFGGame
 
         private long _myRank = 0;
         /// <summary>
-        /// 我的最高排行
+        /// 我的最高排行,排行榜界面展示用
         /// </summary>
         public long MyRank
         {
@@ -57,6 +57,56 @@ namespace GFGGame
             }
         }
 
+
+        private long _myWorksCountOfTheme = 0;
+        /// <summary>
+        /// 本期主题我的作品数
+        /// </summary>
+        public long MyWorksCountOfTheme
+        {
+            get
+            {
+                return _myWorksCountOfTheme;
+            }
+            set
+            {
+                _myWorksCountOfTheme = value;
+            }
+        }
+
+        private bool _hasBonus = false;
+        /// <summary>
+        /// 本期主题我的作品数
+        /// </summary>
+        public bool HasBonus
+        {
+            get
+            {
+                return _hasBonus;
+            }
+            set
+            {
+                _hasBonus = value;
+            }
+        }
+
+        private List<int> _myWorksRanks = new List<int>() { 1, 5 };
+        /// <summary>
+        /// 本期主题我的作品数
+        /// </summary>
+        public List<int> MyWorksRanks
+        {
+            get
+            {
+                return _myWorksRanks;
+            }
+            set
+            {
+                _myWorksRanks = value;
+            }
+        }
+
+
         /// <summary>
         /// 推荐数据
         /// </summary>
@@ -94,6 +144,10 @@ namespace GFGGame
             FavoriteDatas.Clear();
             MySelfDatas.Clear();
             RankDatas.Clear();
+            ThemeOrder = 0;
+            ThemeId = 1;
+            MyWorksCountOfTheme = 0;
+            HasBonus = false;
         }
 
         public void UpdateGalleryData(PoemGalleryData data)

+ 74 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ComGetReward.cs

@@ -0,0 +1,74 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_ComGetReward
+    {
+        public GComponent target;
+        public GTextField m_txtRank;
+        public GList m_list;
+        public const string URL = "ui://iyz778gkr9ri13i";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "ComGetReward";
+        private static UI_ComGetReward _proxy;
+
+        public static UI_ComGetReward Create(GObject gObject = null)
+        {
+            var ui = new UI_ComGetReward();
+            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_ComGetReward Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComGetReward();
+            }
+            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_txtRank = (GTextField)comp.GetChild("txtRank");
+            m_list = (GList)comp.GetChild("list");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_txtRank = null;
+            m_list = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ComGetReward.cs.meta

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

+ 10 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemGalleryRewardGetUI.cs

@@ -7,8 +7,9 @@ namespace UI.Poem
     public partial class UI_PoemGalleryRewardGetUI
     {
         public GComponent target;
-        public GTextField m_txtRank;
-        public GList m_list;
+        public GLoader m_loaBg;
+        public UI_ComGetReward m_comgetReward;
+        public Transition m_t0;
         public const string URL = "ui://iyz778gkr9ri13e";
         public const string PACKAGE_NAME = "Poem";
         public const string RES_NAME = "PoemGalleryRewardGetUI";
@@ -56,13 +57,16 @@ namespace UI.Poem
 
         private void Init(GComponent comp)
         {
-            m_txtRank = (GTextField)comp.GetChild("txtRank");
-            m_list = (GList)comp.GetChild("list");
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_comgetReward = (UI_ComGetReward)UI_ComGetReward.Create(comp.GetChild("comgetReward"));
+            m_t0 = comp.GetTransition("t0");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_txtRank = null;
-            m_list = null;
+            m_loaBg = null;
+            m_comgetReward.Dispose();
+            m_comgetReward = null;
+            m_t0 = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 54 - 36
GameClient/Assets/Game/HotUpdate/ServerProxy/PoemGallerySProxy.cs

@@ -23,6 +23,8 @@ namespace GFGGame
                 {
                     PoemGalleryDataManager.Instance.ThemeOrder = response.ThemeOrder;
                     PoemGalleryDataManager.Instance.ThemeId = response.ThemeId;
+                    PoemGalleryDataManager.Instance.MyWorksCountOfTheme = response.MyWorksCountOfTheme;
+                    PoemGalleryDataManager.Instance.HasBonus = response.HasBonus;
 
                     return true;
                 }
@@ -91,6 +93,51 @@ namespace GFGGame
             return false;
         }
 
+        //获取画廊作品排行榜
+        public static async ETTask<bool> ReqRankList()
+        {
+            S2C_GetGalleryWorksRankList response = null;
+            response = (S2C_GetGalleryWorksRankList)await MessageHelper.SendToServer(new C2S_GetGalleryWorksRankList());
+            if (response != null)
+            {
+                if (response.Error == ErrorCode.ERR_Success)
+                {
+                    List<long> list = PoemGalleryDataManager.Instance.RankDatas;
+
+                    for (int i = 0; i < response.RankList.Count; i++)
+                    {
+                        PoemGalleryData data = PoemGalleryDataManager.Instance.GetGalleryDataById(response.RankList[i].WorksId);
+                        if (data != null)
+                        {
+                            PoemGalleryDataManager.Instance.UpdateRoleInfo(response.RankList[i].WorksId, response.RankList[i].AuthorName, i + 1);
+                        }
+                        else
+                        {
+
+                            data = new PoemGalleryData();
+                            data.WorkId = response.RankList[i].WorksId;
+                            data.Rank = i + 1;
+                            data.AuthorId = response.RankList[i].AuthorId;
+                            data.AuthorName = response.RankList[i].AuthorName;
+                            data.VoteCount = response.RankList[i].BelikedCount;
+                            data.CollectCount = response.RankList[i].BeCollectedCount;
+                            data.VoteOrNot = response.RankList[i].LikeOrNot;
+                            data.CollectOrNot = response.RankList[i].CollectOrNot;
+                            data.CreateTime = response.RankList[i].CreateTime;
+                            data.ThemeOrder = response.RankList[i].ThemeOrder;
+                            data.ThemeId = response.RankList[i].ThemeId;
+                            data.PictureTempUrl = response.RankList[i].PictureTempUrl;
+                            PoemGalleryDataManager.Instance.UpdateGalleryData(data);
+                        }
+                        list.Add(data.WorkId);
+
+                    }
+                    return true;
+                }
+            }
+            return false;
+        }
+
         public static IEnumerator Download(List<long> list, int startIndex)
         {
             for (int i = startIndex; i < list.Count; i++)
@@ -126,9 +173,7 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    // PictureStorageHelper.PushToHWCloud(response.TempPictureUrl)
                     return new object[] { response.TempPictureUrl, response.WorksId };
-                    // return true;
                 }
             }
             ViewManager.Hide<ModalStatusView>();
@@ -145,6 +190,7 @@ namespace GFGGame
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
+                    PoemGalleryDataManager.Instance.MyWorksCountOfTheme = PoemGalleryDataManager.Instance.MyWorksCountOfTheme + 1;
                     PromptController.Instance.ShowFloatTextPrompt("上传成功");
                     return true;
                 }
@@ -218,45 +264,17 @@ namespace GFGGame
             return false;
         }
 
-        //获取画廊作品排行榜
-        public static async ETTask<bool> ReqRankList()
+
+        //领取排行榜奖励
+        public static async ETTask<bool> ReqGetGalleryRankBonus()
         {
-            S2C_GetGalleryWorksRankList response = null;
-            response = (S2C_GetGalleryWorksRankList)await MessageHelper.SendToServer(new C2S_GetGalleryWorksRankList());
+            S2C_GetGalleryRankBonus response = null;
+            response = (S2C_GetGalleryRankBonus)await MessageHelper.SendToServer(new C2S_GetGalleryRankBonus());
             if (response != null)
             {
                 if (response.Error == ErrorCode.ERR_Success)
                 {
-                    List<long> list = PoemGalleryDataManager.Instance.RankDatas;
-
-                    for (int i = 0; i < response.RankList.Count; i++)
-                    {
-                        PoemGalleryData data = PoemGalleryDataManager.Instance.GetGalleryDataById(response.RankList[i].WorksId);
-                        if (data != null)
-                        {
-                            PoemGalleryDataManager.Instance.UpdateRoleInfo(response.RankList[i].WorksId, response.RankList[i].AuthorName, i + 1);
-                        }
-                        else
-                        {
-
-                            data = new PoemGalleryData();
-                            data.WorkId = response.RankList[i].WorksId;
-                            data.Rank = i + 1;
-                            data.AuthorId = response.RankList[i].AuthorId;
-                            data.AuthorName = response.RankList[i].AuthorName;
-                            data.VoteCount = response.RankList[i].BelikedCount;
-                            data.CollectCount = response.RankList[i].BeCollectedCount;
-                            data.VoteOrNot = response.RankList[i].LikeOrNot;
-                            data.CollectOrNot = response.RankList[i].CollectOrNot;
-                            data.CreateTime = response.RankList[i].CreateTime;
-                            data.ThemeOrder = response.RankList[i].ThemeOrder;
-                            data.ThemeId = response.RankList[i].ThemeId;
-                            data.PictureTempUrl = response.RankList[i].PictureTempUrl;
-                            PoemGalleryDataManager.Instance.UpdateGalleryData(data);
-                        }
-                        list.Add(data.WorkId);
-
-                    }
+                    PoemGalleryDataManager.Instance.MyWorksRanks = response.MyWorksRanks;
                     return true;
                 }
             }

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographView.cs

@@ -141,6 +141,7 @@ namespace GFGGame
             UpdateScene();
             PhotographDataManager.Instance.SetLayer(null, "refresh");
 
+            _ui.m_txtCount.text = string.Format("{0}/{1}", PoemGalleryDataManager.Instance.MyWorksCountOfTheme, GlobalCfgArray.globalCfg.maxGalleryWorksCount);
             if (GuideDataManager.IsGuideFinish(ConstGuideId.PHOTOGRAPH) > 0)
             {
                 _ui.m_loaGuide.enabled = false;
@@ -590,6 +591,7 @@ namespace GFGGame
                     bool result = await PoemGallerySProxy.ReqNoticeGalleryWorksUploaded((long)(rsp[1]));
                     if (result)
                     {
+                        _ui.m_txtCount.text = string.Format("{0}/{1}", PoemGalleryDataManager.Instance.MyWorksCountOfTheme, GlobalCfgArray.globalCfg.maxGalleryWorksCount);
                         ViewManager.Hide<ModalStatusView>();
                     }
                 });

+ 26 - 21
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemGalleryRewardGetView.cs

@@ -30,8 +30,10 @@ namespace GFGGame
             this.viewCom.Center();
             this.modal = true;
             viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
+            this.clickBlankToClose = false;
 
-            _ui.m_list.itemRenderer = RenderListItem;
+            _ui.m_comgetReward.m_list.itemRenderer = RenderListItem;
+            _ui.m_loaBg.onClick.Add(OnLoaBgClick);
         }
         protected override void AddEventListener()
         {
@@ -41,37 +43,40 @@ namespace GFGGame
         protected override void OnShown()
         {
             base.OnShown();
+
             ViewManager.SetMaskAlpha(0.8f);
-            int rank = (int)this.viewData;
-            _ui.m_txtRank.text = rank.ToString();
+            UpdateView();
+        }
+
+        private void UpdateView()
+        {
+            int rank = PoemGalleryDataManager.Instance.MyWorksRanks[0];
+            _ui.m_comgetReward.m_txtRank.text = rank.ToString();
 
             GalleryRewardCfg[] rewardCfgs = GalleryRewardCfgArray.Instance.dataArray;
 
-            for (int i = 0; i < rewardCfgs.Length; i++)
+            _rewardDatas = ItemUtil.CreateItemDataList(GalleryRewardCfgArray.Instance.GetGalleryRewardCfgByRank(rank).itemsArr);
+
+            _ui.m_comgetReward.m_list.numItems = _rewardDatas.Count;
+            PoemGalleryDataManager.Instance.MyWorksRanks.RemoveAt(0);
+        }
+        private void OnLoaBgClick()
+        {
+            if (PoemGalleryDataManager.Instance.MyWorksRanks.Count > 0)
             {
-                if (i == rewardCfgs.Length - 1)
-                {
-                    _rewardDatas = ItemUtil.CreateItemDataList(rewardCfgs[i].itemsArr);
-                }
-                else
-                {
-                    GalleryRewardCfg curCfg = rewardCfgs[i];
-                    GalleryRewardCfg nextCfg = rewardCfgs[i + 1];
-                    if (rank >= curCfg.rank && rank < nextCfg.rank)
-                    {
-                        _rewardDatas = ItemUtil.CreateItemDataList(rewardCfgs[i].itemsArr);
-                        break;
-                    }
-                }
+                _ui.m_t0.Play();
+                _ui.m_t0.SetHook("update", UpdateView);
+            }
+            else
+            {
+                this.Hide();
             }
-            _ui.m_list.numItems = _rewardDatas.Count;
-
         }
-
         protected override void OnHide()
         {
             base.OnHide();
             ViewManager.SetMaskAlpha(0.6f);
+            _ui.m_t0.Stop(true, false);
         }
 
         protected override void RemoveEventListener()

+ 6 - 2
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemGalleryView.cs

@@ -123,7 +123,7 @@ namespace GFGGame
             EventAgent.AddEventListener(ConstMessage.GALLERY_DATA_CHANGE, UpdateGalleryList);
             EventAgent.AddEventListener(ConstMessage.GALLERY_RANK_DATA_CHANGE, UpdateGalleryRankList);
         }
-        protected override void OnShown()
+        protected override async void OnShown()
         {
             base.OnShown();
 
@@ -172,8 +172,12 @@ namespace GFGGame
 
             _ui.m_c1.selectedIndex = _tabIndex;
 
-            // UpdateGalleryList();
             UpdateView();
+            bool result = await PoemGallerySProxy.ReqGetGalleryRankBonus();
+            // if (result && PoemGalleryDataManager.Instance.MyWorksRanks.Count > 0)
+            // {
+            ViewManager.Show<PoemGalleryRewardGetView>();
+            // }
         }
 
         protected override void OnHide()

BIN
GameClient/Assets/ResIn/UI/Poem/Poem_fui.bytes