zhaoyang 2 years ago
parent
commit
8a7dbfae15
42 changed files with 1340 additions and 42 deletions
  1. 3 1
      FGUIProject/assets/poem/PoemPhotoPreviewUI.xml
  2. 7 0
      FGUIProject/assets/poem/PoemPhotoUI.xml
  3. 19 0
      FGUIProject/assets/poem/components/Button6.xml
  4. 14 0
      FGUIProject/assets/poem/components/ListPhotoItem.xml
  5. BIN
      FGUIProject/assets/poem/images/kp_anniudik.png
  6. BIN
      FGUIProject/assets/poem/images/kp_anniudik_1.png
  7. BIN
      FGUIProject/assets/poem/images/kp_kuang_4.png
  8. 10 6
      FGUIProject/assets/poem/package.xml
  9. 45 0
      GameClient/Assets/Game/HotUpdate/Data/PoemPhotoDataManager.cs
  10. 11 0
      GameClient/Assets/Game/HotUpdate/Data/PoemPhotoDataManager.cs.meta
  11. 8 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem.meta
  12. 77 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ComEctype.cs
  13. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ComEctype.cs.meta
  14. 86 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ListPhotoItem.cs
  15. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ListPhotoItem.cs.meta
  16. 71 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ListPhotoPreviewItem.cs
  17. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ListPhotoPreviewItem.cs.meta
  18. 95 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoPreviewUI.cs
  19. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoPreviewUI.cs.meta
  20. 80 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoShareUI.cs
  21. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoShareUI.cs.meta
  22. 92 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoUI.cs
  23. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoUI.cs.meta
  24. 78 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemUI.cs
  25. 11 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemUI.cs.meta
  26. 1 34
      GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographSaveView.cs
  27. 8 0
      GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs
  28. 8 0
      GameClient/Assets/Game/HotUpdate/Views/Poem.meta
  29. 112 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoPreView.cs
  30. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoPreView.cs.meta
  31. 73 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoShareView.cs
  32. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoShareView.cs.meta
  33. 149 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoView.cs
  34. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoView.cs.meta
  35. 67 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemView.cs
  36. 11 0
      GameClient/Assets/Game/HotUpdate/Views/Poem/PoemView.cs.meta
  37. BIN
      GameClient/Assets/ResIn/UI/Bag_fui.bytes
  38. 8 0
      GameClient/Assets/ResIn/UI/Poem.meta
  39. BIN
      GameClient/Assets/ResIn/UI/Poem/Poem_atlas0.png
  40. 96 0
      GameClient/Assets/ResIn/UI/Poem/Poem_atlas0.png.meta
  41. BIN
      GameClient/Assets/ResIn/UI/Poem/Poem_fui.bytes
  42. 1 1
      GameClient/Assets/ResIn/UI/Poem/Poem_fui.bytes.meta

+ 3 - 1
FGUIProject/assets/poem/PoemPhotoPreviewUI.xml

@@ -10,7 +10,9 @@
     </component>
     <image id="n2_v482" name="n2" src="v4821" fileName="images/wpbb_zi.png" xy="189,216" group="n3_v482"/>
     <group id="n3_v482" name="n3" xy="40,196" size="254,95"/>
-    <list id="n4_v482" name="list" xy="58,345" size="989,1421" layout="row" overflow="scroll" scrollBarFlags="8" defaultItem="ui://iyz778gkv482b"/>
+    <list id="n4_v482" name="list" xy="58,350" size="989,1416" layout="pagination" overflow="scroll" scroll="horizontal" scrollBarFlags="10" defaultItem="ui://iyz778gkv482b"/>
+    <component id="n12_11rzz" name="btnLeft" src="ly9g1e" fileName="components/Button13.xml" pkg="eg2y0ldp" xy="87,1084" pivot="0.5,0.5" anchor="true" rotation="180"/>
+    <component id="n13_11rzz" name="btnRight" src="ly9g1e" fileName="components/Button13.xml" pkg="eg2y0ldp" xy="1013,1084" pivot="0.5,0.5" anchor="true"/>
     <component id="n6_v482" name="btnLock" src="v4826" fileName="components/Button1.xml" xy="70,1795" size="100,69"/>
     <component id="n7_v482" name="btnUp" src="v4827" fileName="components/Button2.xml" xy="835,1817" size="100,54"/>
     <component id="n9_v482" name="btnShare" src="v482c" fileName="components/Button4.xml" xy="987,1798" size="67,87"/>

+ 7 - 0
FGUIProject/assets/poem/PoemPhotoUI.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="1080,1920">
+  <controller name="c1" pages="0,,1," selected="0"/>
   <displayList>
     <loader id="n0_v482" name="loaBg" xy="540,960" pivot="0.5,0.5" anchor="true" size="1080,2400" fill="scaleMatchWidth">
       <relation target="" sidePair="width-width,height-height,center-center,middle-middle"/>
@@ -10,6 +11,12 @@
     </component>
     <image id="n2_v482" name="n2" src="v4821" fileName="images/wpbb_zi.png" xy="189,216" group="n3_v482"/>
     <group id="n3_v482" name="n3" xy="40,196" size="254,95"/>
+    <component id="n11_11rzz" name="btnTab0" src="11rzzf" fileName="components/Button6.xml" xy="345,311" size="151,63">
+      <Button checked="true" controller="c1" page="0"/>
+    </component>
+    <component id="n12_11rzz" name="btnTab1" src="11rzzf" fileName="components/Button6.xml" xy="548,311" size="151,63">
+      <Button controller="c1" page="1"/>
+    </component>
     <list id="n8_v482" name="list" xy="91,444" size="952,1316" layout="flow_hz" overflow="scroll" defaultItem="ui://iyz778gkv4828" align="center">
       <item/>
       <item/>

+ 19 - 0
FGUIProject/assets/poem/components/Button6.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="100,20" extention="Button">
+  <Button mode="Radio"/>
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver"/>
+  <displayList>
+    <graph id="n0_11rzz" name="n0" xy="0,0" size="100,20" type="rect" lineSize="0" fillColor="#F0F0F0" touchable="false">
+      <gearDisplay controller="button" pages="0"/>
+      <relation target="" sidePair="width,height"/>
+    </graph>
+    <graph id="n1_11rzz" name="n1" xy="0,0" size="100,20" type="rect" lineSize="0" fillColor="#FAFAFA" touchable="false">
+      <gearDisplay controller="button" pages="2"/>
+      <relation target="" sidePair="width,height"/>
+    </graph>
+    <graph id="n2_11rzz" name="n2" xy="0,0" size="100,20" type="rect" lineSize="0" fillColor="#CCCCCC" touchable="false">
+      <gearDisplay controller="button" pages="1,3"/>
+      <relation target="" sidePair="width,height"/>
+    </graph>
+  </displayList>
+</component>

+ 14 - 0
FGUIProject/assets/poem/components/ListPhotoItem.xml

@@ -1,9 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="324,530">
+  <controller name="c1" pages="0,,1," selected="1"/>
+  <controller name="c2" pages="0,,1," selected="0"/>
   <displayList>
     <loader id="n4_v482" name="loaIcon" xy="0,0" size="324,467"/>
     <component id="n5_v482" name="btnLock" src="v4826" fileName="components/Button1.xml" xy="2,394" size="100,69"/>
     <component id="n6_v482" name="btnUp" src="v4827" fileName="components/Button2.xml" xy="219,414" size="100,54"/>
     <text id="n7_v482" name="txtTime" xy="10,486" pivot="0.5,0" size="298,44" fontSize="32" align="center" text="2022-1-8 17:14:30"/>
+    <image id="n8_11rzz" name="n8" src="11rzzg" fileName="images/kp_anniudik.png" xy="273,12" size="40,40">
+      <gearDisplay controller="c1" pages="1"/>
+    </image>
+    <image id="n9_11rzz" name="n9" src="11rzzh" fileName="images/kp_anniudik_1.png" xy="273,12" size="40,40">
+      <gearDisplay controller="c1" pages="1"/>
+      <gearDisplay2 controller="c2" pages="1" condition="0"/>
+      <relation target="" sidePair="width-width,height-height"/>
+    </image>
+    <image id="n11_11rzz" name="n11" src="11rzzi" fileName="images/kp_kuang_4.png" xy="-4,-6" size="334,491">
+      <gearDisplay controller="c1" pages="1"/>
+      <gearDisplay2 controller="c2" pages="1" condition="0"/>
+    </image>
   </displayList>
 </component>

BIN
FGUIProject/assets/poem/images/kp_anniudik.png


BIN
FGUIProject/assets/poem/images/kp_anniudik_1.png


BIN
FGUIProject/assets/poem/images/kp_kuang_4.png


+ 10 - 6
FGUIProject/assets/poem/package.xml

@@ -1,21 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packageDescription id="iyz778gk">
   <resources>
-    <component id="v4820" name="PoemUI.xml" path="/"/>
+    <component id="v4820" name="PoemUI.xml" path="/" exported="true"/>
     <image id="v4821" name="wpbb_zi.png" path="/images/"/>
-    <component id="v4822" name="ComEctype.xml" path="/components/" exported="true"/>
+    <component id="v4822" name="ComEctype.xml" path="/components/"/>
     <image id="v4823" name="ejzjm_1.png" path="/images/"/>
     <image id="v4824" name="ejzjm_gbzt.png" path="/images/"/>
-    <component id="v4825" name="PoemPhotoUI.xml" path="/"/>
+    <component id="v4825" name="PoemPhotoUI.xml" path="/" exported="true"/>
     <component id="v4826" name="Button1.xml" path="/components/"/>
     <component id="v4827" name="Button2.xml" path="/components/"/>
     <component id="v4828" name="ListPhotoItem.xml" path="/components/"/>
     <component id="v4829" name="Button3.xml" path="/components/"/>
-    <component id="v482a" name="PoemPhotoPreviewUI.xml" path="/"/>
+    <component id="v482a" name="PoemPhotoPreviewUI.xml" path="/" exported="true"/>
     <component id="v482b" name="ListPhotoPreviewItem.xml" path="/components/"/>
     <component id="v482c" name="Button4.xml" path="/components/"/>
-    <component id="v482d" name="PoemPhotoShareUI.xml" path="/"/>
+    <component id="v482d" name="PoemPhotoShareUI.xml" path="/" exported="true"/>
     <component id="v482e" name="Button5.xml" path="/components/"/>
+    <component id="11rzzf" name="Button6.xml" path="/components/"/>
+    <image id="11rzzg" name="kp_anniudik.png" path="/images/"/>
+    <image id="11rzzh" name="kp_anniudik_1.png" path="/images/"/>
+    <image id="11rzzi" name="kp_kuang_4.png" path="/images/" exported="true" scale="9grid" scale9grid="60,110,120,220"/>
   </resources>
-  <publish name=""/>
+  <publish name="" path="..\GameClient\Assets\ResIn\UI\Poem" packageCount="2" genCode="true"/>
 </packageDescription>

+ 45 - 0
GameClient/Assets/Game/HotUpdate/Data/PoemPhotoDataManager.cs

@@ -0,0 +1,45 @@
+using System;
+using System.IO;
+using ET;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class PoemPhotoDataManager : SingletonBase<PoemPhotoDataManager>
+    {
+
+        /// <summary>
+        /// 将照片保存到本地
+        /// </summary>
+        public void SavePicturoToLocal(Texture2D tex)
+        {
+            string path = Application.persistentDataPath + "/Pictures/WanshiJing/";
+            //判断目录是否存在,不存在则会创建目录
+            if (!Directory.Exists(path))
+            {
+                try
+                {
+                    Directory.CreateDirectory(path);
+                }
+                catch (Exception exception)
+                {
+                    throw new Exception("创建文件夹失败, error:" + exception.Message);
+
+                }
+            }
+            string fileName = "wsj" + TimeHelper.ServerNowSecs + ".jpg";
+            var filePath = path + fileName;
+            byte[] bytes = tex.EncodeToJPG();//将纹理数据,转化成一个jpg图片
+            File.WriteAllBytes(filePath, bytes);
+            UpdateSystemPhoto(filePath);
+        }
+        //调用iOS或Android原生方法保存图片后更新相册.
+        private void UpdateSystemPhoto(string filePath)
+        {
+#if UNITY_ANDROID
+            AndroidJavaObject androidJavaObject = new AndroidJavaObject("com.gfg.gfglibrary.SaveImage"); //设置成我们aar库中的签名+类名
+            androidJavaObject.Call("scanFile", filePath, "已保存至相册"); //这里我们可以设置保存成功弹窗内容
+#endif
+        }
+    }
+}

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

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

+ 8 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 33f1a3911b1400c44b8c452141f7bed7
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 77 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ComEctype.cs

@@ -0,0 +1,77 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_ComEctype
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_icon;
+        public GImage m_img;
+        public const string URL = "ui://iyz778gkv4822";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "ComEctype";
+        private static UI_ComEctype _proxy;
+
+        public static UI_ComEctype Create(GObject gObject = null)
+        {
+            var ui = new UI_ComEctype();
+            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_ComEctype Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ComEctype();
+            }
+            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_c1 = comp.GetController("c1");
+            m_icon = (GLoader)comp.GetChild("icon");
+            m_img = (GImage)comp.GetChild("img");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_icon = null;
+            m_img = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 86 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ListPhotoItem.cs

@@ -0,0 +1,86 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_ListPhotoItem
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public Controller m_c2;
+        public GLoader m_loaIcon;
+        public GButton m_btnLock;
+        public GButton m_btnUp;
+        public GTextField m_txtTime;
+        public const string URL = "ui://iyz778gkv4828";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "ListPhotoItem";
+        private static UI_ListPhotoItem _proxy;
+
+        public static UI_ListPhotoItem Create(GObject gObject = null)
+        {
+            var ui = new UI_ListPhotoItem();
+            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_ListPhotoItem Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_ListPhotoItem();
+            }
+            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_c1 = comp.GetController("c1");
+            m_c2 = comp.GetController("c2");
+            m_loaIcon = (GLoader)comp.GetChild("loaIcon");
+            m_btnLock = (GButton)comp.GetChild("btnLock");
+            m_btnUp = (GButton)comp.GetChild("btnUp");
+            m_txtTime = (GTextField)comp.GetChild("txtTime");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_c2 = null;
+            m_loaIcon = null;
+            m_btnLock = null;
+            m_btnUp = null;
+            m_txtTime = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 71 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_ListPhotoPreviewItem.cs

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

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

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

+ 95 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoPreviewUI.cs

@@ -0,0 +1,95 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_PoemPhotoPreviewUI
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GButton m_btnback;
+        public GList m_list;
+        public GButton m_btnLeft;
+        public GButton m_btnRight;
+        public GButton m_btnLock;
+        public GButton m_btnUp;
+        public GButton m_btnShare;
+        public GTextField m_txtTime;
+        public const string URL = "ui://iyz778gkv482a";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "PoemPhotoPreviewUI";
+        private static UI_PoemPhotoPreviewUI _proxy;
+
+        public static UI_PoemPhotoPreviewUI Create(GObject gObject = null)
+        {
+            var ui = new UI_PoemPhotoPreviewUI();
+            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_PoemPhotoPreviewUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_PoemPhotoPreviewUI();
+            }
+            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_list = (GList)comp.GetChild("list");
+            m_btnLeft = (GButton)comp.GetChild("btnLeft");
+            m_btnRight = (GButton)comp.GetChild("btnRight");
+            m_btnLock = (GButton)comp.GetChild("btnLock");
+            m_btnUp = (GButton)comp.GetChild("btnUp");
+            m_btnShare = (GButton)comp.GetChild("btnShare");
+            m_txtTime = (GTextField)comp.GetChild("txtTime");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_btnback = null;
+            m_list = null;
+            m_btnLeft = null;
+            m_btnRight = null;
+            m_btnLock = null;
+            m_btnUp = null;
+            m_btnShare = null;
+            m_txtTime = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 80 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoShareUI.cs

@@ -0,0 +1,80 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_PoemPhotoShareUI
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GButton m_btnback;
+        public GButton m_btnSave;
+        public GButton m_btnShare;
+        public const string URL = "ui://iyz778gkv482d";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "PoemPhotoShareUI";
+        private static UI_PoemPhotoShareUI _proxy;
+
+        public static UI_PoemPhotoShareUI Create(GObject gObject = null)
+        {
+            var ui = new UI_PoemPhotoShareUI();
+            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_PoemPhotoShareUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_PoemPhotoShareUI();
+            }
+            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_btnSave = (GButton)comp.GetChild("btnSave");
+            m_btnShare = (GButton)comp.GetChild("btnShare");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_btnback = null;
+            m_btnSave = null;
+            m_btnShare = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 92 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemPhotoUI.cs

@@ -0,0 +1,92 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_PoemPhotoUI
+    {
+        public GComponent target;
+        public Controller m_c1;
+        public GLoader m_loaBg;
+        public GButton m_btnback;
+        public GButton m_btnTab0;
+        public GButton m_btnTab1;
+        public GList m_list;
+        public GTextField m_txtCount;
+        public GButton m_btnDelete;
+        public const string URL = "ui://iyz778gkv4825";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "PoemPhotoUI";
+        private static UI_PoemPhotoUI _proxy;
+
+        public static UI_PoemPhotoUI Create(GObject gObject = null)
+        {
+            var ui = new UI_PoemPhotoUI();
+            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_PoemPhotoUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_PoemPhotoUI();
+            }
+            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_c1 = comp.GetController("c1");
+            m_loaBg = (GLoader)comp.GetChild("loaBg");
+            m_btnback = (GButton)comp.GetChild("btnback");
+            m_btnTab0 = (GButton)comp.GetChild("btnTab0");
+            m_btnTab1 = (GButton)comp.GetChild("btnTab1");
+            m_list = (GList)comp.GetChild("list");
+            m_txtCount = (GTextField)comp.GetChild("txtCount");
+            m_btnDelete = (GButton)comp.GetChild("btnDelete");
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_c1 = null;
+            m_loaBg = null;
+            m_btnback = null;
+            m_btnTab0 = null;
+            m_btnTab1 = null;
+            m_list = null;
+            m_txtCount = null;
+            m_btnDelete = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 78 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/poem/UI_PoemUI.cs

@@ -0,0 +1,78 @@
+/** This is an automatically generated class by FairyGUI. Please do not modify it. **/
+
+using FairyGUI;
+
+namespace UI.Poem
+{
+    public partial class UI_PoemUI
+    {
+        public GComponent target;
+        public GLoader m_loaBg;
+        public GButton m_btnback;
+        public UI_ComEctype m_comphoto;
+        public const string URL = "ui://iyz778gkv4820";
+        public const string PACKAGE_NAME = "Poem";
+        public const string RES_NAME = "PoemUI";
+        private static UI_PoemUI _proxy;
+
+        public static UI_PoemUI Create(GObject gObject = null)
+        {
+            var ui = new UI_PoemUI();
+            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_PoemUI Proxy(GObject gObject = null)
+        {
+            if(_proxy == null)
+            {
+                _proxy = new UI_PoemUI();
+            }
+            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_comphoto = (UI_ComEctype)UI_ComEctype.Create(comp.GetChild("comphoto"));
+        }
+        public void Dispose(bool disposeTarget = false)
+        {
+            m_loaBg = null;
+            m_btnback = null;
+            m_comphoto.Dispose();
+            m_comphoto = null;
+            if(disposeTarget && target != null)
+            {
+                target.RemoveFromParent();
+                target.Dispose();
+            }
+            target = null;
+        }
+    }
+}

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

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

+ 1 - 34
GameClient/Assets/Game/HotUpdate/Views/DressUp/PhotographSaveView.cs

@@ -53,42 +53,9 @@ namespace GFGGame
 
         private void OnClickBtnSave()
         {
-            string path = Application.persistentDataPath + "/Pictures/WanshiJing/";
-
-            //判断目录是否存在,不存在则会创建目录
-            if (!Directory.Exists(path))
-            {
-                try
-                {
-                    Directory.CreateDirectory(path);
-                }
-                catch (Exception exception)
-                {
-                    throw new Exception("创建文件夹失败, error:" + exception.Message);
-
-                }
-            }
-            string fileName = "wsj" + TimeHelper.ServerNowSecs + ".jpg";
-
             Texture2D tex = this.viewData as Texture2D;
-            byte[] bytes = tex.EncodeToJPG();//将纹理数据,转化成一个jpg图片
-            var filePath = path + fileName;
-            File.WriteAllBytes(filePath, bytes);
-            UpdateSystemPhoto(filePath);
-        }
 
-        //调用iOS或Android原生方法保存图片后更新相册.
-        private void UpdateSystemPhoto(string filePath)
-        {
-#if UNITY_ANDROID
-            AndroidJavaObject androidJavaObject = new AndroidJavaObject("com.gfg.gfglibrary.SaveImage"); //设置成我们aar库中的签名+类名
-            androidJavaObject.Call("scanFile", filePath, "已保存至相册"); //这里我们可以设置保存成功弹窗内容
-#endif
+            PoemPhotoDataManager.Instance.SavePicturoToLocal(tex);
         }
-        // protected override void UpdateToCheckGuide(object param)
-        // {
-        //     if (!ViewManager.CheckIsTopView(this.viewCom)) return;
-        //     GuideController.TryCompleteGuide(ConstGuideId.PHOTOGRAPH, 3);
-        // }
     }
 }

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

@@ -125,6 +125,7 @@ namespace GFGGame
             _ui.m_btnStudio.target.onClick.Add(OnClickBtnStudio);
             _ui.m_btnField.target.onClick.Add(OnClickBtnField);
             _ui.m_headBar.target.onClick.Add(OnClickHeadBar);
+            _ui.m_btnPoem.target.onClick.Add(OnClickBtnPoem);
 
             _btnStore.onClick.Add(OnClickBtnStore);
             _btnTuJian.onClick.Add(OnClickBtnTuJian);
@@ -435,6 +436,12 @@ namespace GFGGame
 
             ViewManager.Show<FieldView>(null, new object[] { ViewName.MAINUI_VIEW, this.viewData });
         }
+        private void OnClickBtnPoem()
+        {
+            // LogServerHelper.SendNodeLog((int)PlayParticipationEnum.TIAN_YE_DIAO_CHA, 1);
+
+            ViewManager.Show<PoemView>(null, new object[] { ViewName.MAINUI_VIEW, this.viewData });
+        }
         private void OnClickBtnBag()
         {
             ViewManager.Show<BagView>(null, new object[] { ViewName.MAINUI_VIEW, this.viewData });
@@ -522,6 +529,7 @@ namespace GFGGame
             || (ActivityDataManager.Instance.dailyLoginId >= 7 && ActivityDataManager.Instance.dailyLoginBonusStatus == ConstBonusStatus.GOT));
             _ui.m_btnField.target.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FieldView).Name, false);
             _ui.m_btnHuanZhuang.target.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(DressUpView).Name, false);
+            _ui.m_btnStudio.target.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(PoemView).Name, false);
 
             _btnGongGao.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(NoticeView).Name, false);
             _btnHaoYou.visible = FunctionOpenDataManager.Instance.CheckIsFunOpenById(typeof(FriendView).Name, false);

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6ebe201aafe7a8e498d67113f61a2eb3
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 112 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoPreView.cs

@@ -0,0 +1,112 @@
+using ET;
+using FairyGUI;
+using UI.Poem;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class PoemPhotoPreView : BaseWindow
+    {
+        private UI_PoemPhotoPreviewUI _ui;
+        private int _curIndex = 0;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_PoemPhotoPreviewUI.PACKAGE_NAME;
+            _ui = UI_PoemPhotoPreviewUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
+
+            _ui.m_btnback.onClick.Add(OnBtnBackClick);
+
+            _ui.m_list.SetVirtual();
+            _ui.m_list.itemRenderer = RenderListItem;
+            _ui.m_btnLeft.onClick.Add(OnBtnLeftClick);
+            _ui.m_btnRight.onClick.Add(OnBtnRightClick);
+            _ui.m_btnLock.onClick.Add(OnBtnLockClick);
+            _ui.m_btnUp.onClick.Add(OnBtnUpClick);
+            _ui.m_btnShare.onClick.Add(OnBtnShareClick);
+
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+            _curIndex = (int)this.viewData;
+            _ui.m_list.numItems = 0;
+            _ui.m_list.ScrollToView(_curIndex);
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+
+        }
+
+        private void OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(PoemPhotoPreView).FullName);
+
+        }
+        private void UpdateView()
+        {
+            _ui.m_btnLeft.enabled = _curIndex > 0;
+            _ui.m_btnRight.enabled = _curIndex < _ui.m_list.numItems - 1;
+        }
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_ListPhotoPreviewItem item = UI_ListPhotoPreviewItem.Proxy(obj);
+
+            UI_ListPhotoPreviewItem.ProxyEnd();
+        }
+
+        private void OnBtnLeftClick()
+        {
+            _curIndex--;
+            _curIndex = Mathf.Max(0, _curIndex);
+            UpdateView();
+        }
+        private void OnBtnRightClick()
+        {
+            _curIndex++;
+            _curIndex = Mathf.Min(_ui.m_list.numItems - 1, _curIndex);
+            UpdateView();
+        }
+        private void OnBtnLockClick()
+        {
+
+
+        }
+        private void OnBtnUpClick()
+        {
+
+
+        }
+        private void OnBtnShareClick()
+        {
+            ViewManager.Show<PoemPhotoShareView>(_curIndex, new object[] { typeof(PoemPhotoPreView).FullName, _curIndex });
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoPreView.cs.meta

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

+ 73 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoShareView.cs

@@ -0,0 +1,73 @@
+using ET;
+using FairyGUI;
+using UI.Poem;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class PoemPhotoShareView : BaseWindow
+    {
+        private UI_PoemPhotoShareUI _ui;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_PoemPhotoShareUI.PACKAGE_NAME;
+            _ui = UI_PoemPhotoShareUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
+
+            _ui.m_btnback.onClick.Add(OnBtnBackClick);
+            _ui.m_btnSave.onClick.Add(OnBtnSaveClick);
+            _ui.m_btnShare.onClick.Add(OnBtnShareClick);
+
+        }
+        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 OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(PoemPhotoShareView).FullName);
+        }
+        private void OnBtnSaveClick()
+        {
+            // Texture2D tex = this.viewData as Texture2D;
+
+            // PoemPhotoDataManager.Instance.SavePicturoToLocal(tex);
+        }
+        private void OnBtnShareClick()
+        {
+
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoShareView.cs.meta

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

+ 149 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoView.cs

@@ -0,0 +1,149 @@
+using System.Collections.Generic;
+using ET;
+using FairyGUI;
+using UI.Poem;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class PoemPhotoView : BaseWindow
+    {
+        private UI_PoemPhotoUI _ui;
+        private List<int> _listDelete = new List<int>();
+
+        private bool _deleting = false;//是否删除状态
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_PoemPhotoUI.PACKAGE_NAME;
+            _ui = UI_PoemPhotoUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
+
+            _ui.m_list.SetVirtual();
+            _ui.m_list.itemRenderer = RenderListItem;
+
+            _ui.m_btnback.onClick.Add(OnBtnBackClick);
+            _ui.m_btnDelete.onClick.Add(OnBtnDeleteClick);
+            _ui.m_c1.onChanged.Add(OnBtnTabChange);
+
+
+        }
+        protected override void AddEventListener()
+        {
+            base.AddEventListener();
+
+        }
+        protected override void OnShown()
+        {
+            base.OnShown();
+
+        }
+
+        protected override void OnHide()
+        {
+            base.OnHide();
+            _listDelete.Clear();
+        }
+
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+
+        }
+        private void OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(PoemPhotoView).FullName);
+        }
+
+        private void OnBtnDeleteClick()
+        {
+
+        }
+        private void OnBtnTabChange()
+        {
+            _deleting = false;
+            if (_ui.m_c1.selectedIndex == 0)
+            {
+                _ui.m_list.numItems = 0;
+            }
+            else
+            {
+                _ui.m_list.numItems = 0;
+            }
+        }
+
+        private void RenderListItem(int index, GObject obj)
+        {
+            UI_ListPhotoItem item = UI_ListPhotoItem.Proxy(obj);
+            int id = 0;
+            item.m_c1.selectedIndex = _deleting ? 1 : 0;
+            item.m_c2.selectedIndex = !_deleting || _listDelete.IndexOf(id) < 0 ? 0 : 1;
+            if (item.m_btnLock.data == null)
+            {
+                item.m_btnLock.onClick.Add(OnBtnLockClick);
+            }
+            item.m_btnLock.data = id;
+            if (item.m_btnUp.data == null)
+            {
+                item.m_btnUp.onClick.Add(OnBtnUpClick);
+            }
+            item.m_btnUp.data = id;
+            if (item.m_loaIcon.data == null)
+            {
+                item.m_loaIcon.onClick.Add(OnLoaIconClick);
+            }
+            item.m_loaIcon.data = id;
+            item.target.data = index;
+            UI_ListPhotoItem.ProxyEnd();
+        }
+
+        private void OnLoaIconClick(EventContext context)
+        {
+            GObject obj = context.sender as GObject;
+            if (!_deleting)
+            {
+                int index = (int)obj.parent.data;
+                ViewManager.Show<PoemPhotoPreView>(index, new object[] { typeof(PoemView).FullName, this.viewData });
+            }
+            else
+            {
+                int id = (int)obj.data;
+                UI_ListPhotoItem item = UI_ListPhotoItem.Proxy(obj);
+                item.m_c2.selectedIndex = item.m_c2.selectedIndex == 0 ? 1 : 0;
+                if (item.m_c2.selectedIndex == 1)
+                {
+                    _listDelete.Add(id);
+                }
+                else
+                {
+                    _listDelete.Remove(id);
+                }
+                UI_ListPhotoItem.ProxyEnd();
+            }
+        }
+        private void OnBtnLockClick(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+
+        }
+        private void OnBtnUpClick(EventContext context)
+        {
+            GObject item = context.sender as GObject;
+
+        }
+
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemPhotoView.cs.meta

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

+ 67 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemView.cs

@@ -0,0 +1,67 @@
+using ET;
+using FairyGUI;
+using UI.Poem;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class PoemView : BaseWindow
+    {
+        private UI_PoemUI _ui;
+
+        public override void Dispose()
+        {
+            if (_ui != null)
+            {
+                _ui.Dispose();
+                _ui = null;
+            }
+            base.Dispose();
+        }
+
+        protected override void OnInit()
+        {
+            base.OnInit();
+            packageName = UI_PoemUI.PACKAGE_NAME;
+            _ui = UI_PoemUI.Create();
+            this.viewCom = _ui.target;
+            isfullScreen = true;
+
+            _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("gzs_bjbj");
+
+            _ui.m_btnback.onClick.Add(OnBtnBackClick);
+            _ui.m_comphoto.target.onClick.Add(OnComPhotoClick);
+        }
+        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 OnBtnBackClick()
+        {
+            ViewManager.GoBackFrom(typeof(PoemView).FullName);
+        }
+        private void OnComPhotoClick()
+        {
+            ViewManager.Show<PoemPhotoView>(null, new object[] { typeof(PoemView).FullName, this.viewData });
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Views/Poem/PoemView.cs.meta

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

BIN
GameClient/Assets/ResIn/UI/Bag_fui.bytes


+ 8 - 0
GameClient/Assets/ResIn/UI/Poem.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c59f974a0fa92264d9d8be143a069b76
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
GameClient/Assets/ResIn/UI/Poem/Poem_atlas0.png


+ 96 - 0
GameClient/Assets/ResIn/UI/Poem/Poem_atlas0.png.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 52349ed13ce11e34190760f8b11f3b92
+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/Poem/Poem_fui.bytes


+ 1 - 1
GameClient/Assets/ResIn/UI/Bag_fui.bytes.meta → GameClient/Assets/ResIn/UI/Poem/Poem_fui.bytes.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 458dc85c7aea4bd478924d1d3c12dc78
+guid: b64ee280004231e448aa086968343c8c
 TextScriptImporter:
   externalObjects: {}
   userData: