Browse Source

增加好友系统

LiuQilin 7 years ago
parent
commit
515b622535

+ 30 - 26
Assets/AtlasUtility/Script/Editor/TestEditor.cs

@@ -56,6 +56,10 @@ namespace AtlasUtility
 
         private void Test(string serialNumber, string nickname)
         {
+            List<int> ints = new List<int>() {0};
+            ints.Insert(1, 1);
+            Debug.Log(ints.Back(0));
+
             //URLRequestData urlData = new URLRequestData();
 
             //urlData.Add("u", serialNumber);
@@ -73,32 +77,32 @@ namespace AtlasUtility
             //    URLRequest.Method.POST
             //);
 
-            URLRequestData urlData = new URLRequestData();
-
-            urlData.Add("u", serialNumber);
-
-            URLRequest.CreateURLRequest
-            (
-                true,
-                HttpManager.OtherURL,
-                urlData,
-                jData =>
-                {
-                    Debug.Log(jData["l"].ToString());
-                    string config = Regex.Replace(jData["l"].ToString(), "<NickName value=\"\" />", $"<NickName value=\"{nickname}\" />");
-                    if (!string.IsNullOrEmpty(config))
-                    {
-                        Debug.LogWarning("Sava " + config);
-                        URLRequestData newUrlData = new URLRequestData();
-
-                        newUrlData.Add("u", serialNumber);
-                        newUrlData.Add("v", 3);
-                        newUrlData.Add("l", Regex.Replace(jData["l"].ToString(), "<NickName value=\"\" />", $"<NickName value=\"{nickname}\" />"));
-                        URLRequest.CreateURLRequest(false, HttpManager.SaveURL, newUrlData, data => { Debug.Log(data.ToJson()); }, URLRequest.Method.POST);
-                    }
-                },
-                URLRequest.Method.POST
-            );
+            //URLRequestData urlData = new URLRequestData();
+
+            //urlData.Add("u", serialNumber);
+
+            //URLRequest.CreateURLRequest
+            //(
+            //    true,
+            //    HttpManager.OtherURL,
+            //    urlData,
+            //    jData =>
+            //    {
+            //        Debug.Log(jData["l"].ToString());
+            //        string config = Regex.Replace(jData["l"].ToString(), "<NickName value=\"\" />", $"<NickName value=\"{nickname}\" />");
+            //        if (!string.IsNullOrEmpty(config))
+            //        {
+            //            Debug.LogWarning("Sava " + config);
+            //            URLRequestData newUrlData = new URLRequestData();
+
+            //            newUrlData.Add("u", serialNumber);
+            //            newUrlData.Add("v", 3);
+            //            newUrlData.Add("l", Regex.Replace(jData["l"].ToString(), "<NickName value=\"\" />", $"<NickName value=\"{nickname}\" />"));
+            //            URLRequest.CreateURLRequest(false, HttpManager.SaveURL, newUrlData, data => { Debug.Log(data.ToJson()); }, URLRequest.Method.POST);
+            //        }
+            //    },
+            //    URLRequest.Method.POST
+            //);
         }
     }
 }

+ 14 - 12
Assets/AtlasUtility/Script/Test.cs

@@ -37,13 +37,13 @@ namespace AtlasUtility
         private VirtualScrollRectPlus VirtualScrollRectPlus;
         private void Start()
         {
-            VirtualScrollRectPlus = GameObject.GetComponent<VirtualScrollRectPlus>();
-            VirtualScrollRectPlus.Init(5, 15, GetNextItem, GetPreviousItem, (i, item) => { Items.Add(item); item.SetActive(false); });
+            VirtualScrollRectPlus = GetComponent<VirtualScrollRectPlus>();
+            VirtualScrollRectPlus.Init(5, 15, GetNextItem, GetPreviousItem, (i, item) => { item.SetParent(null); Items.Add(item); item.SetActive(false); });
         }
 
         private VirtualScrollRectItem GetPreviousItem(int index)
         {
-            //Debug.LogWarning(index);
+            //Debug.LogWarning("previous " + index);
             if (index < 0)
             {
                 VirtualScrollRectPlus.PreviousPageLock = true;
@@ -54,16 +54,17 @@ namespace AtlasUtility
                 if (Items.Count > 0)
                 {
                     VirtualScrollRectItem item = Items[0];
+                    item.GetComponentInChildren<Text>().text = index.ToString();
+                    item.SetParent(VirtualScrollRectPlus.content);
                     Items.RemoveAt(0);
                     item.SetActive(true);
                     return item;
                 }
                 else
                 {
-                    GameObject go = new GameObject();
-                    Image image = go.AddComponent<Image>();
-                    image.rectTransform.sizeDelta = new Vector2(100, 100);
-                    VirtualScrollRectItem virtualScrollRectItem = go.AddComponent<VirtualScrollRectItem>();
+                    GameObject go = Instantiate(GameObject);
+                    go.GetComponentInChildren<Text>().text = index.ToString();
+                    VirtualScrollRectItem virtualScrollRectItem = go.GetComponent<VirtualScrollRectItem>();
                     virtualScrollRectItem.Init();
                     virtualScrollRectItem.SetParent(VirtualScrollRectPlus.content);
                     return virtualScrollRectItem;
@@ -75,7 +76,7 @@ namespace AtlasUtility
         private List<VirtualScrollRectItem> Items = new List<VirtualScrollRectItem>();
         private VirtualScrollRectItem GetNextItem(int index)
         {
-            //Debug.LogWarning(index);
+            //Debug.LogWarning("next " + index);
             if (index >= MaxAmount)
             {
                 VirtualScrollRectPlus.NextPageLock = true;
@@ -86,16 +87,17 @@ namespace AtlasUtility
                 if (Items.Count > 0)
                 {
                     VirtualScrollRectItem item = Items[0];
+                    item.GetComponentInChildren<Text>().text = index.ToString();
+                    item.SetParent(VirtualScrollRectPlus.content);
                     Items.RemoveAt(0);
                     item.SetActive(true);
                     return item;
                 }
                 else
                 {
-                    GameObject go = new GameObject();
-                    Image image = go.AddComponent<Image>();
-                    image.rectTransform.sizeDelta = new Vector2(100, 100);
-                    VirtualScrollRectItem virtualScrollRectItem = go.AddComponent<VirtualScrollRectItem>();
+                    GameObject go = Instantiate(GameObject);
+                    go.GetComponentInChildren<Text>().text = index.ToString();
+                    VirtualScrollRectItem virtualScrollRectItem = go.GetComponent<VirtualScrollRectItem>();
                     virtualScrollRectItem.Init();
                     virtualScrollRectItem.SetParent(VirtualScrollRectPlus.content);
                     return virtualScrollRectItem;

+ 319 - 0
Assets/CanvasTest.prefab

@@ -0,0 +1,319 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications: []
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 1207941341943962}
+  m_IsPrefabParent: 1
+--- !u!1 &1207941341943962
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224054064493244890}
+  - component: {fileID: 223920286899607322}
+  - component: {fileID: 114273691515045080}
+  - component: {fileID: 114166763257289832}
+  m_Layer: 5
+  m_Name: CanvasTest
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!1 &1433375884202648
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224705340549042096}
+  - component: {fileID: 114471649228097780}
+  - component: {fileID: 222724502464487212}
+  - component: {fileID: 114468836897924124}
+  - component: {fileID: 114081833891213816}
+  - component: {fileID: 114695493669028416}
+  m_Layer: 5
+  m_Name: AH_ScrollRect (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1765690792592830
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224408664378367780}
+  - component: {fileID: 114758168832874126}
+  - component: {fileID: 114470335076950626}
+  m_Layer: 5
+  m_Name: AH_Grid
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114081833891213816
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1433375884202648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 770e019109ba2f54cb52c7bd83f162aa, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224408664378367780}
+  m_Horizontal: 1
+  m_Vertical: 0
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 0
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 0}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 0
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  FirstIndex: 0
+  LastIndex: 0
+  Inited: 0
+  LayoutGroup: {fileID: 0}
+  MaxRollAmount: 0
+  MaxChildAmount: 0
+  NextPageLock: 0
+  PreviousPageLock: 0
+  Children: []
+--- !u!114 &114166763257289832
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1207941341943962}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!114 &114273691515045080
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1207941341943962}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 1
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+--- !u!114 &114468836897924124
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1433375884202648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 0.7058824}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114470335076950626
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1765690792592830}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 3
+  m_Spacing: 5
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 0
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+--- !u!114 &114471649228097780
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1433375884202648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -146154839, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!114 &114695493669028416
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1433375884202648}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: ef3c42f14ba649d4aaf2ea3afe194ba7, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  GameObject: {fileID: 1326621001893730, guid: 2c37b0d271e218b4d966a0d54d398c88, type: 2}
+  TextAsset: {fileID: 0}
+  Text: {fileID: 0}
+  Texture2D: {fileID: 0}
+  SpriteRenderer: {fileID: 0}
+  Sprite: {fileID: 0}
+  MeshFilter: {fileID: 0}
+  MeshRenderer: {fileID: 0}
+  MaxAmount: 23
+--- !u!114 &114758168832874126
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1765690792592830}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
+--- !u!222 &222724502464487212
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1433375884202648}
+--- !u!223 &223920286899607322
+Canvas:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1207941341943962}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!224 &224054064493244890
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1207941341943962}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_Children:
+  - {fileID: 224705340549042096}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!224 &224408664378367780
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1765690792592830}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 224705340549042096}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: -0.0045776367, y: -0.0000150052365}
+  m_SizeDelta: {x: 0, y: 50}
+  m_Pivot: {x: 0.00000024586916, y: 0.49999976}
+--- !u!224 &224705340549042096
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1433375884202648}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 224408664378367780}
+  m_Father: {fileID: 224054064493244890}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0.00031281}
+  m_SizeDelta: {x: 665, y: 449.74}
+  m_Pivot: {x: 0.5, y: 0.5}

+ 8 - 0
Assets/CanvasTest.prefab.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d42611280303bd9468b1eff36bf59074
+timeCreated: 1511321918
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 75 - 0
Assets/EventSystem.prefab

@@ -0,0 +1,75 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications: []
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 1476279731701892}
+  m_IsPrefabParent: 1
+--- !u!1 &1476279731701892
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4047495250669186}
+  - component: {fileID: 114103521515183082}
+  - component: {fileID: 114764901267636176}
+  m_Layer: 0
+  m_Name: EventSystem
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!4 &4047495250669186
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1476279731701892}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &114103521515183082
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1476279731701892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_FirstSelected: {fileID: 0}
+  m_sendNavigationEvents: 1
+  m_DragThreshold: 5
+--- !u!114 &114764901267636176
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1476279731701892}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalAxis: Horizontal
+  m_VerticalAxis: Vertical
+  m_SubmitButton: Submit
+  m_CancelButton: Cancel
+  m_InputActionsPerSecond: 10
+  m_RepeatDelay: 0.5
+  m_ForceModuleActive: 0

+ 8 - 0
Assets/EventSystem.prefab.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85f1e53301ab0c64aab07f803e8d7302
+timeCreated: 1511321922
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 170 - 0
Assets/Image.prefab

@@ -0,0 +1,170 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications: []
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 1326621001893730}
+  m_IsPrefabParent: 1
+--- !u!1 &1326621001893730
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224711641689220350}
+  - component: {fileID: 222041844552676176}
+  - component: {fileID: 114597165297496578}
+  - component: {fileID: 114763077455233558}
+  m_Layer: 5
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1382378093780124
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224117389616192450}
+  - component: {fileID: 222487431355915734}
+  - component: {fileID: 114497777759562248}
+  m_Layer: 5
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &114497777759562248
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1382378093780124}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 40
+    m_FontStyle: 0
+    m_BestFit: 1
+    m_MinSize: 4
+    m_MaxSize: 50
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: 1
+--- !u!114 &114597165297496578
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1326621001893730}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &114763077455233558
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1326621001893730}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5ea1a1d5ee6eee1428069863808c0b14, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Inited: 0
+  RectTransform: {fileID: 0}
+--- !u!222 &222041844552676176
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1326621001893730}
+--- !u!222 &222487431355915734
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1382378093780124}
+--- !u!224 &224117389616192450
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1382378093780124}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 224711641689220350}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224711641689220350
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1326621001893730}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 224117389616192450}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}

+ 8 - 0
Assets/Image.prefab.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2c37b0d271e218b4d966a0d54d398c88
+timeCreated: 1511313719
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 471
Assets/Resource/Logo.unity

@@ -155,80 +155,6 @@ SpriteRenderer:
   m_Color: {r: 0, g: 0, b: 0, a: 1}
   m_FlipX: 0
   m_FlipY: 0
---- !u!1 &561375283
-GameObject:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 1660609394511124, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  serializedVersion: 5
-  m_Component:
-  - component: {fileID: 561375284}
-  - component: {fileID: 561375286}
-  - component: {fileID: 561375285}
-  m_Layer: 5
-  m_Name: AH_Grid
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &561375284
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 224589558856542952, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 561375283}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 748443026}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 1}
-  m_AnchorMax: {x: 0.5, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 665, y: 0}
-  m_Pivot: {x: 0.5, y: 0.99999994}
---- !u!114 &561375285
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 114124802136112544, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 561375283}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_HorizontalFit: 0
-  m_VerticalFit: 2
---- !u!114 &561375286
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 114471668404191864, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 561375283}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Padding:
-    m_Left: 0
-    m_Right: 0
-    m_Top: 0
-    m_Bottom: 0
-  m_ChildAlignment: 1
-  m_Spacing: 5
-  m_ChildForceExpandWidth: 0
-  m_ChildForceExpandHeight: 0
-  m_ChildControlWidth: 0
-  m_ChildControlHeight: 0
 --- !u!1 &722194761
 GameObject:
   m_ObjectHideFlags: 0
@@ -303,153 +229,6 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 0}
   m_GameObject: {fileID: 722194761}
---- !u!1 &748443025
-GameObject:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 1488130531046558, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  serializedVersion: 5
-  m_Component:
-  - component: {fileID: 748443026}
-  - component: {fileID: 748443030}
-  - component: {fileID: 748443029}
-  - component: {fileID: 748443028}
-  - component: {fileID: 748443027}
-  - component: {fileID: 748443031}
-  m_Layer: 5
-  m_Name: AH_ScrollRect (1)
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &748443026
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 224623671784950266, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 748443025}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children:
-  - {fileID: 561375284}
-  m_Father: {fileID: 1208382418}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 665, y: 566}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &748443027
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 748443025}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 770e019109ba2f54cb52c7bd83f162aa, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Content: {fileID: 561375284}
-  m_Horizontal: 0
-  m_Vertical: 1
-  m_MovementType: 1
-  m_Elasticity: 0.1
-  m_Inertia: 0
-  m_DecelerationRate: 0.135
-  m_ScrollSensitivity: 1
-  m_Viewport: {fileID: 0}
-  m_HorizontalScrollbar: {fileID: 0}
-  m_VerticalScrollbar: {fileID: 0}
-  m_HorizontalScrollbarVisibility: 0
-  m_VerticalScrollbarVisibility: 0
-  m_HorizontalScrollbarSpacing: 0
-  m_VerticalScrollbarSpacing: 0
-  m_OnValueChanged:
-    m_PersistentCalls:
-      m_Calls: []
-    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
-      Culture=neutral, PublicKeyToken=null
-  FirstIndex: 0
-  LastIndex: 0
-  Inited: 0
-  MaxRollAmount: 0
-  MaxChildAmount: 0
-  NextPageLock: 0
-  PreviousPageLock: 0
-  Children: []
---- !u!114 &748443028
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 114382815244420980, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 748443025}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 0.7058824}
-  m_RaycastTarget: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
-      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-  m_Sprite: {fileID: 0}
-  m_Type: 0
-  m_PreserveAspect: 0
-  m_FillCenter: 1
-  m_FillMethod: 4
-  m_FillAmount: 1
-  m_FillClockwise: 1
-  m_FillOrigin: 0
---- !u!222 &748443029
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 222566942698303926, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 748443025}
---- !u!114 &748443030
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 114312941865700024, guid: 8647d80b558fa724a84d05f9e6aee9bc,
-    type: 2}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 748443025}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: -146154839, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
---- !u!114 &748443031
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 748443025}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: ef3c42f14ba649d4aaf2ea3afe194ba7, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  GameObject: {fileID: 748443025}
-  TextAsset: {fileID: 0}
-  Text: {fileID: 0}
-  Texture2D: {fileID: 0}
-  SpriteRenderer: {fileID: 0}
-  Sprite: {fileID: 0}
-  MeshFilter: {fileID: 0}
-  MeshRenderer: {fileID: 0}
-  MaxAmount: 23
 --- !u!1 &841147520
 GameObject:
   m_ObjectHideFlags: 0
@@ -467,7 +246,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &841147521
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -543,99 +322,6 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
---- !u!1 &1208382414
-GameObject:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  serializedVersion: 5
-  m_Component:
-  - component: {fileID: 1208382418}
-  - component: {fileID: 1208382417}
-  - component: {fileID: 1208382416}
-  - component: {fileID: 1208382415}
-  m_Layer: 5
-  m_Name: Canvas
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!114 &1208382415
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1208382414}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_IgnoreReversedGraphics: 1
-  m_BlockingObjects: 0
-  m_BlockingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
---- !u!114 &1208382416
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1208382414}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_UiScaleMode: 0
-  m_ReferencePixelsPerUnit: 100
-  m_ScaleFactor: 1
-  m_ReferenceResolution: {x: 800, y: 600}
-  m_ScreenMatchMode: 0
-  m_MatchWidthOrHeight: 0
-  m_PhysicalUnit: 3
-  m_FallbackScreenDPI: 96
-  m_DefaultSpriteDPI: 96
-  m_DynamicPixelsPerUnit: 1
---- !u!223 &1208382417
-Canvas:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1208382414}
-  m_Enabled: 1
-  serializedVersion: 2
-  m_RenderMode: 0
-  m_Camera: {fileID: 0}
-  m_PlaneDistance: 100
-  m_PixelPerfect: 0
-  m_ReceivesEvents: 1
-  m_OverrideSorting: 0
-  m_OverridePixelPerfect: 0
-  m_SortingBucketNormalizedSize: 0
-  m_SortingLayerID: 0
-  m_SortingOrder: 0
-  m_TargetDisplay: 0
---- !u!224 &1208382418
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1208382414}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 0, y: 0, z: 0}
-  m_Children:
-  - {fileID: 748443026}
-  m_Father: {fileID: 0}
-  m_RootOrder: 5
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0, y: 0}
 --- !u!1 &1218118077
 GameObject:
   m_ObjectHideFlags: 0
@@ -654,7 +340,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!81 &1218118078
 AudioListener:
   m_ObjectHideFlags: 0
@@ -741,7 +427,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!95 &1511433817
 Animator:
   serializedVersion: 3
@@ -899,93 +585,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: d995bd93e747b4143812c28df116ed09, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
---- !u!1 &1639682805
-GameObject:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  serializedVersion: 5
-  m_Component:
-  - component: {fileID: 1639682810}
-  - component: {fileID: 1639682809}
-  - component: {fileID: 1639682808}
-  - component: {fileID: 1639682807}
-  - component: {fileID: 1639682806}
-  m_Layer: 0
-  m_Name: Camera
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!81 &1639682806
-AudioListener:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1639682805}
-  m_Enabled: 1
---- !u!92 &1639682807
-Behaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1639682805}
-  m_Enabled: 1
---- !u!124 &1639682808
-Behaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1639682805}
-  m_Enabled: 1
---- !u!20 &1639682809
-Camera:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1639682805}
-  m_Enabled: 1
-  serializedVersion: 2
-  m_ClearFlags: 1
-  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
-  m_NormalizedViewPortRect:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 1
-    height: 1
-  near clip plane: 0.3
-  far clip plane: 1000
-  field of view: 60
-  orthographic: 0
-  orthographic size: 5
-  m_Depth: 0
-  m_CullingMask:
-    serializedVersion: 2
-    m_Bits: 4294967295
-  m_RenderingPath: -1
-  m_TargetTexture: {fileID: 0}
-  m_TargetDisplay: 0
-  m_TargetEye: 3
-  m_HDR: 0
-  m_OcclusionCulling: 1
-  m_StereoConvergence: 10
-  m_StereoSeparation: 0.022
-  m_StereoMirrorMode: 0
---- !u!4 &1639682810
-Transform:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 1639682805}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 503.00006, y: 282.99994, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 7
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1001 &1700323524
 Prefab:
   m_ObjectHideFlags: 0
@@ -1087,10 +686,6 @@ Prefab:
       propertyPath: m_Name
       value: Canvas (1)
       objectReference: {fileID: 0}
-    - target: {fileID: 1948781497737682, guid: 8647d80b558fa724a84d05f9e6aee9bc, type: 2}
-      propertyPath: m_IsActive
-      value: 0
-      objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_ParentPrefab: {fileID: 100100000, guid: 8647d80b558fa724a84d05f9e6aee9bc, type: 2}
   m_IsPrefabParent: 0
@@ -1109,7 +704,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 4294967295
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &1833966244
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1138,65 +733,3 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &2068759873
-GameObject:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  serializedVersion: 5
-  m_Component:
-  - component: {fileID: 2068759876}
-  - component: {fileID: 2068759875}
-  - component: {fileID: 2068759874}
-  m_Layer: 0
-  m_Name: EventSystem
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!114 &2068759874
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 2068759873}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_HorizontalAxis: Horizontal
-  m_VerticalAxis: Vertical
-  m_SubmitButton: Submit
-  m_CancelButton: Cancel
-  m_InputActionsPerSecond: 10
-  m_RepeatDelay: 0.5
-  m_ForceModuleActive: 0
---- !u!114 &2068759875
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 2068759873}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_FirstSelected: {fileID: 0}
-  m_sendNavigationEvents: 1
-  m_DragThreshold: 5
---- !u!4 &2068759876
-Transform:
-  m_ObjectHideFlags: 0
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 0}
-  m_GameObject: {fileID: 2068759873}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 6
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

+ 95 - 65
Assets/Resource/Prefab/PrefabUI/Canvas.prefab

@@ -1975,13 +1975,14 @@ GameObject:
   serializedVersion: 5
   m_Component:
   - component: {fileID: 224216203107484194}
+  - component: {fileID: 225520572180302146}
   m_Layer: 5
   m_Name: AF_FriendPanelParent
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!1 &1132159904803572
 GameObject:
   m_ObjectHideFlags: 1
@@ -3720,7 +3721,7 @@ GameObject:
   - component: {fileID: 114730723617443990}
   - component: {fileID: 222657300241192362}
   - component: {fileID: 114218164162857512}
-  - component: {fileID: 114314917347508018}
+  - component: {fileID: 114806777712732204}
   m_Layer: 5
   m_Name: AF_FriendScrollRect
   m_TagString: Untagged
@@ -10337,7 +10338,7 @@ GameObject:
   - component: {fileID: 114697873940634012}
   - component: {fileID: 222832259097606666}
   - component: {fileID: 114112328724288666}
-  - component: {fileID: 114487334337577464}
+  - component: {fileID: 114255145625943764}
   m_Layer: 5
   m_Name: AF_ApplicantScrollRect
   m_TagString: Untagged
@@ -22345,6 +22346,46 @@ MonoBehaviour:
   m_FillAmount: 1
   m_FillClockwise: 1
   m_FillOrigin: 0
+--- !u!114 &114255145625943764
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1700311188695822}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 770e019109ba2f54cb52c7bd83f162aa, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224600134575381614}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 0
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 0}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 0
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  FirstIndex: 0
+  LastIndex: 0
+  Inited: 0
+  LayoutGroup: {fileID: 0}
+  MaxRollAmount: 0
+  MaxChildAmount: 0
+  NextPageLock: 0
+  PreviousPageLock: 0
+  Children: []
 --- !u!114 &114255845373979496
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -24230,37 +24271,6 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u63D0\u4EA4\u95EE\u9898"
---- !u!114 &114314917347508018
-MonoBehaviour:
-  m_ObjectHideFlags: 1
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 100100000}
-  m_GameObject: {fileID: 1246721883612370}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 235c753c59692334b8eb0ebdbfe0822b, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Content: {fileID: 224329043147590790}
-  m_Horizontal: 0
-  m_Vertical: 1
-  m_MovementType: 1
-  m_Elasticity: 0.1
-  m_Inertia: 0
-  m_DecelerationRate: 0.135
-  m_ScrollSensitivity: 1
-  m_Viewport: {fileID: 0}
-  m_HorizontalScrollbar: {fileID: 0}
-  m_VerticalScrollbar: {fileID: 0}
-  m_HorizontalScrollbarVisibility: 0
-  m_VerticalScrollbarVisibility: 0
-  m_HorizontalScrollbarSpacing: 0
-  m_VerticalScrollbarSpacing: 0
-  m_OnValueChanged:
-    m_PersistentCalls:
-      m_Calls: []
-    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
-      Culture=neutral, PublicKeyToken=null
 --- !u!114 &114317597627844288
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -29899,37 +29909,6 @@ MonoBehaviour:
       m_Calls: []
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       Culture=neutral, PublicKeyToken=null
---- !u!114 &114487334337577464
-MonoBehaviour:
-  m_ObjectHideFlags: 1
-  m_PrefabParentObject: {fileID: 0}
-  m_PrefabInternal: {fileID: 100100000}
-  m_GameObject: {fileID: 1700311188695822}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 235c753c59692334b8eb0ebdbfe0822b, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Content: {fileID: 224600134575381614}
-  m_Horizontal: 0
-  m_Vertical: 1
-  m_MovementType: 1
-  m_Elasticity: 0.1
-  m_Inertia: 0
-  m_DecelerationRate: 0.135
-  m_ScrollSensitivity: 1
-  m_Viewport: {fileID: 0}
-  m_HorizontalScrollbar: {fileID: 0}
-  m_VerticalScrollbar: {fileID: 0}
-  m_HorizontalScrollbarVisibility: 0
-  m_VerticalScrollbarVisibility: 0
-  m_HorizontalScrollbarSpacing: 0
-  m_VerticalScrollbarSpacing: 0
-  m_OnValueChanged:
-    m_PersistentCalls:
-      m_Calls: []
-    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
-      Culture=neutral, PublicKeyToken=null
 --- !u!114 &114487545991304540
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -39906,6 +39885,46 @@ MonoBehaviour:
   m_FillAmount: 1
   m_FillClockwise: 1
   m_FillOrigin: 0
+--- !u!114 &114806777712732204
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1246721883612370}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 770e019109ba2f54cb52c7bd83f162aa, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Content: {fileID: 224329043147590790}
+  m_Horizontal: 0
+  m_Vertical: 1
+  m_MovementType: 1
+  m_Elasticity: 0.1
+  m_Inertia: 0
+  m_DecelerationRate: 0.135
+  m_ScrollSensitivity: 1
+  m_Viewport: {fileID: 0}
+  m_HorizontalScrollbar: {fileID: 0}
+  m_VerticalScrollbar: {fileID: 0}
+  m_HorizontalScrollbarVisibility: 0
+  m_VerticalScrollbarVisibility: 0
+  m_HorizontalScrollbarSpacing: 0
+  m_VerticalScrollbarSpacing: 0
+  m_OnValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  FirstIndex: 0
+  LastIndex: 0
+  Inited: 0
+  LayoutGroup: {fileID: 0}
+  MaxRollAmount: 0
+  MaxChildAmount: 0
+  NextPageLock: 0
+  PreviousPageLock: 0
+  Children: []
 --- !u!114 &114806923581437932
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -69405,6 +69424,17 @@ CanvasGroup:
   m_Interactable: 1
   m_BlocksRaycasts: 1
   m_IgnoreParentGroups: 0
+--- !u!225 &225520572180302146
+CanvasGroup:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1132125090877062}
+  m_Enabled: 1
+  m_Alpha: 0
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
 --- !u!225 &225528352709234956
 CanvasGroup:
   m_ObjectHideFlags: 1

BIN
Assets/Resource/Xlsx/language_config.xlsx


+ 244 - 22
Assets/Script/Manage/HttpManager.cs

@@ -77,6 +77,7 @@ public class HttpManager : Regist
         }
         set { isConnect = value; }
     }
+
     public static bool isConnect;
 
     public static bool BuyPackLimitFlag
@@ -95,6 +96,7 @@ public class HttpManager : Regist
             }
         }
     }
+
     public static bool buyPackLimitFlag;
 
 
@@ -129,22 +131,24 @@ public class HttpManager : Regist
     public static string NewBaseURL = "https://garden.dashgame.com/index.php/newhome";
     public static string NicknameURL = NewBaseURL + "/user/nickname";
     public static string RankURL = NewBaseURL + "/user/look";
-    public static string PraiseURL= NewBaseURL + "/praise/click";
-    public static string TargetURL= NewBaseURL + "/praise/target";
-    public static string AddCommentURL= NewBaseURL + "/comment/comment";
-    public static string GetCommentURL= NewBaseURL + "/comment/index";
-    public static string IndexURL= NewBaseURL + "/index/index";
-    public static string GetProductIDURL= NewBaseURL + "/pay/pay";
-    public static string LoginURL= NewBaseURL + "/user/login";
-    public static string SaveURL= NewBaseURL + "/user/save";
-    public static string OtherURL= NewBaseURL + "/user/other";
-    public static string DownloadURL= NewBaseURL + "/user/load";
-    public static string RandomURL= NewBaseURL + "/user/rand";
-    public static string ThanksGiftInfoURL= NewBaseURL + "/index/gift";
-    public static string GetApplicantURL= NewBaseURL + "/buddy/list";
-    public static string GetBuddyURL= NewBaseURL + "/buddy/index";
-    public static string ApplyBuddyURL= NewBaseURL + "/buddy/apply";
-    public static string ReportMailAddress= "bug@dashgame.com";
+    public static string PraiseURL = NewBaseURL + "/praise/click";
+    public static string TargetURL = NewBaseURL + "/praise/target";
+    public static string AddCommentURL = NewBaseURL + "/comment/comment";
+    public static string GetCommentURL = NewBaseURL + "/comment/index";
+    public static string IndexURL = NewBaseURL + "/index/index";
+    public static string GetProductIDURL = NewBaseURL + "/pay/pay";
+    public static string LoginURL = NewBaseURL + "/user/login";
+    public static string SaveURL = NewBaseURL + "/user/save";
+    public static string OtherURL = NewBaseURL + "/user/other";
+    public static string DownloadURL = NewBaseURL + "/user/load";
+    public static string RandomURL = NewBaseURL + "/user/rand";
+    public static string ThanksGiftInfoURL = NewBaseURL + "/index/gift";
+    public static string GetApplicantListURL = NewBaseURL + "/buddy/list";
+    public static string GetBuddyListURL = NewBaseURL + "/buddy/index";
+    public static string ApplyBuddyURL = NewBaseURL + "/buddy/apply";
+    public static string DeleteBuddyURL = NewBaseURL + "/buddy/remove";
+    public static string AcceptApplicantURL = NewBaseURL + "/buddy/agree";
+    public static string ReportMailAddress = "bug@dashgame.com";
 
     #endregion
 
@@ -152,8 +156,26 @@ public class HttpManager : Regist
     {
         URLRequestData requestData = new URLRequestData();
         requestData.Add("u", 1710065808151506837);
+        URLRequest.CreateStrURLRequest(true, GetApplicantListURL, requestData, data => Debug.Log("获取好友列表返回结果 " + data), URLRequest.Method.POST);
+
+        requestData = new URLRequestData();
+        requestData.Add("u", 1710065808151506837);
+        URLRequest.CreateStrURLRequest(true, GetBuddyListURL, requestData, data => Debug.Log("查看好友列表返回结果 " + data), URLRequest.Method.POST);
+
+        requestData = new URLRequestData();
+        requestData.Add("u", 1710065808151506837);
         requestData.Add("b", 1710065808151506837);
-        URLRequest.CreateStrURLRequest(true, GetApplicantURL, requestData, Debug.Log, URLRequest.Method.POST);
+        URLRequest.CreateStrURLRequest(true, ApplyBuddyURL, requestData, data => Debug.Log("申请好友返回结果 " + data), URLRequest.Method.POST);
+
+        requestData = new URLRequestData();
+        requestData.Add("u", 1710065808151506837);
+        requestData.Add("b", 1710065808151506837);
+        URLRequest.CreateStrURLRequest(true, AcceptApplicantURL, requestData, data => Debug.Log("同意加为好友返回结果 " + data), URLRequest.Method.POST);
+
+        requestData = new URLRequestData();
+        requestData.Add("u", 1710065808151506837);
+        requestData.Add("b", 1710065808151506837);
+        URLRequest.CreateStrURLRequest(true, DeleteBuddyURL, requestData, data => Debug.Log("删除/拒绝好友返回结果 " + data), URLRequest.Method.POST);
     }
 
     public void Update()
@@ -256,7 +278,7 @@ public class HttpManager : Regist
                     jsondata = new JsonData();
                     jsondata["error"] = 0;
                 }
-                
+
                 GetRankDataCallback(jsondata);
             }
         );
@@ -369,7 +391,7 @@ public class HttpManager : Regist
         {
             wwwList.Add(new WWW(urlList[i]));
         }
-        
+
         for (int i = 0; i < wwwList.Count; i++)
         {
             yield return wwwList[i];
@@ -437,7 +459,7 @@ public class HttpManager : Regist
         urlData.Add("u", sendID);
         urlData.Add("t", receiveID);
 
-        URLRequest.CreateStrURLRequest(true, PraiseURL, urlData, (data)=> {}, URLRequest.Method.POST);
+        URLRequest.CreateStrURLRequest(true, PraiseURL, urlData, (data) => { }, URLRequest.Method.POST);
     }
 
     public static void CheckIsPraised(string userID, string targetID, Action<JsonData> callback)
@@ -513,7 +535,7 @@ public class HttpManager : Regist
         urlData.Add("p", page);
         urlData.Add("t", type.GetHashCode());
 
-        URLRequest.CreateURLRequest(true, GetCommentURL, urlData, data => { callback(data);}, URLRequest.Method.POST);
+        URLRequest.CreateURLRequest(true, GetCommentURL, urlData, data => { callback(data); }, URLRequest.Method.POST);
     }
 
 
@@ -905,7 +927,7 @@ public class HttpManager : Regist
 
         urlData.Add("l", ConfigManager.ConfigDocument.OuterXml);
 
-        URLRequest.CreateURLRequest(false, SaveURL, urlData, data => {}, URLRequest.Method.POST);
+        URLRequest.CreateURLRequest(false, SaveURL, urlData, data => { }, URLRequest.Method.POST);
     }
 
 
@@ -970,6 +992,206 @@ public class HttpManager : Regist
     }
 
 
+    public static void GetApplicantList(Action<List<AccountData>> succeedCallback, Action failedCallback, string selfSerialNumber = null)
+    {
+        DelayCall.Call
+        (
+            2f,
+            () =>
+            {
+                List<AccountData> accountDatas = new List<AccountData>();
+                accountDatas.Add(new AccountData("测试账号0", "测试ID0", DateTime.Now.Ticks.ToString()));
+                accountDatas.Add(new AccountData("测试账号1", "测试ID1", DateTime.Now.Ticks.ToString()));
+                accountDatas.Add(new AccountData("测试账号2", "测试ID2", DateTime.Now.Ticks.ToString()));
+                succeedCallback.Invoke(accountDatas);
+            }
+        );
+
+        //if (selfSerialNumber == null)
+        //{
+        //    selfSerialNumber = SerialNumber;
+        //}
+
+        //URLRequestData requestData = new URLRequestData();
+        //requestData.Add("u", selfSerialNumber);
+        //URLRequest.CreateURLRequest
+        //(
+        //    true,
+        //    GetApplicantListURL,
+        //    requestData,
+        //    jData =>
+        //    {
+        //        if (jData.Inst_Object.ContainsKey("i"))
+        //        {
+        //            List<AccountData> accountDatas = new List<AccountData>();
+        //            for (int i = 0; i < jData.Count; i++)
+        //            {
+        //                string serialNumber = (string)jData[i]["i"];
+        //                string nickname = (string)jData[i]["n"];
+        //                accountDatas.Add(new AccountData(nickname, serialNumber));
+        //            }
+        //            succeedCallback.Invoke(accountDatas);
+        //        }
+        //        else
+        //        {
+        //            failedCallback.Invoke();
+        //        }
+        //    },
+        //    URLRequest.Method.POST
+        //);
+    }
+
+    public static void GetBuddyList(Action<List<AccountData>> succeedCallback, Action failedCallback, string selfSerialNumber = null)
+    {
+        //if (selfSerialNumber == null)
+        //{
+        //    selfSerialNumber = SerialNumber;
+        //}
+
+        //URLRequestData requestData = new URLRequestData();
+        //requestData.Add("u", selfSerialNumber);
+        //URLRequest.CreateURLRequest
+        //(
+        //    true,
+        //    GetBuddyListURL,
+        //    requestData,
+        //    jData =>
+        //    {
+        //        if (jData.Inst_Object.ContainsKey("i"))
+        //        {
+        //            List<AccountData> accountDatas = new List<AccountData>();
+        //            for (int i = 0; i < jData.Count; i++)
+        //            {
+        //                string serialNumber = (string) jData[i]["i"];
+        //                string nickname = (string) jData[i]["n"];
+        //                accountDatas.Add(new AccountData(nickname, serialNumber));
+        //            }
+        //            succeedCallback.Invoke(accountDatas);
+        //        }
+        //        else
+        //        {
+        //            failedCallback.Invoke();
+        //        }
+        //    },
+        //    URLRequest.Method.POST
+        //);
+    }
+
+    public static void DeleteBuddy(string targetSerialNumber, Action succeedCallback, Action failedCallback, string selfSerialNumber = null)
+    {
+        if (selfSerialNumber == null)
+        {
+            selfSerialNumber = SerialNumber;
+        }
+
+        URLRequestData requestData = new URLRequestData();
+        requestData.Add("u", selfSerialNumber);
+        requestData.Add("b", targetSerialNumber);
+        URLRequest.CreateStrURLRequest
+        (
+            true,
+            DeleteBuddyURL,
+            requestData,
+            data =>
+            {
+                try
+                {
+                    JsonData jData = JsonMapper.ToObject(data);
+                    if ((int) jData["error"] == 0)
+                    {
+                        succeedCallback.Invoke();
+                    }
+                    else
+                    {
+                        failedCallback.Invoke();
+                    }
+                }
+                catch (Exception)
+                {
+                    failedCallback.Invoke();
+                }
+            },
+            URLRequest.Method.POST
+        );
+    }
+
+    public static void AcceptApplicant(string targetSerialNumber, Action succeedCallback, Action failedCallback, string selfSerialNumber = null)
+    {
+        if (selfSerialNumber == null)
+        {
+            selfSerialNumber = SerialNumber;
+        }
+
+        URLRequestData requestData = new URLRequestData();
+        requestData.Add("u", selfSerialNumber);
+        requestData.Add("b", targetSerialNumber);
+        URLRequest.CreateStrURLRequest
+        (
+            true,
+            AcceptApplicantURL,
+            requestData,
+            data =>
+            {
+                try
+                {
+                    JsonData jData = JsonMapper.ToObject(data);
+                    if ((int)jData["error"] == 0)
+                    {
+                        succeedCallback.Invoke();
+                    }
+                    else
+                    {
+                        failedCallback.Invoke();
+                    }
+                }
+                catch (Exception)
+                {
+                    failedCallback.Invoke();
+                }
+            },
+            URLRequest.Method.POST
+        );
+    }
+
+    public static void ApplyBuddy(string targetSerialNumber, Action succeedCallback, Action failedCallback, string selfSerialNumber = null)
+    {
+        if (selfSerialNumber == null)
+        {
+            selfSerialNumber = SerialNumber;
+        }
+
+        URLRequestData requestData = new URLRequestData();
+        requestData.Add("u", selfSerialNumber);
+        requestData.Add("b", targetSerialNumber);
+        URLRequest.CreateStrURLRequest
+        (
+            true,
+            ApplyBuddyURL,
+            requestData,
+            data =>
+            {
+                try
+                {
+                    JsonData jData = JsonMapper.ToObject(data);
+                    if ((int)jData["error"] == 0)
+                    {
+                        succeedCallback.Invoke();
+                    }
+                    else
+                    {
+                        failedCallback.Invoke();
+                    }
+                }
+                catch (Exception)
+                {
+                    failedCallback.Invoke();
+                }
+            },
+            URLRequest.Method.POST
+        );
+    }
+
+
     private static string SmtpHost = "smtp.163.com";
     private static string ReporterMailAccount = "dashgamegarden@163.com";
     private static string ReporterMailPassword = "cs670cs";

+ 16 - 15
Assets/Script/Social/AddFriendPanel.cs

@@ -1,23 +1,26 @@
-using System.Collections;
+using System;
+using System.Collections;
 using System.Collections.Generic;
 
 using UnityEngine;
 using UnityEngine.UI;
 
-public class AddFriendPanel : Regist
+public class AccountData
 {
-    private class RecommendData
+    public string Nickname;
+    public string SerialNumber;
+    public DateTime LastLoginDate;
+
+    public AccountData(string nickname, string serialNumber, string lastLoginTimestamp)
     {
-        public string Nickname;
-        public string SerialNumber;
-
-        public RecommendData(string nickname, string serialNumber)
-        {
-            Nickname = nickname;
-            SerialNumber = serialNumber;
-        }
+        Nickname = nickname;
+        SerialNumber = serialNumber;
+        LastLoginDate = DateUtil.GetTime(lastLoginTimestamp);
     }
+}
 
+public class AddFriendPanel : Regist
+{
     #region Config
 
     public static Text Title;
@@ -33,9 +36,8 @@ public class AddFriendPanel : Regist
     public static Button CloseButton;
     public static Transform AddFriendPanelMask;
     public static InputField InputField;
-    public static CanvasGroup PanelCanvasGroup;
 
-    private static List<RecommendData> RecommendDatas = new List<RecommendData>();
+    private static List<AccountData> RecommendDatas = new List<AccountData>();
 
     #endregion
 
@@ -54,7 +56,6 @@ public class AddFriendPanel : Regist
         AddFriendPanelMask = ResourceManager.Get(ObjectLabel.AG_AddFriendPanelMask);
         InputField = ResourceManager.Get<InputField>(ObjectLabel.AG_InputField);
         ChangeButtonTitle = ChangeButton.GetComponent<Text>();
-        PanelCanvasGroup = AddFriendPanelMask.GetComponent<CanvasGroup>();
 
         AddFriendPanelMask.CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
 
@@ -67,7 +68,7 @@ public class AddFriendPanel : Regist
         ChangeButton.onClick.AddListener(OnChangeButtonClick);
         CloseButton.onClick.AddListener(ClosePanel);
 
-        RecommendDatas.Add(new RecommendData("测试账号", "测试ID"));
+        RecommendDatas.Add(new AccountData("测试账号", "测试ID", "170000000000"));
     }
 
     public static void OpenPanel()

+ 59 - 0
Assets/Script/Social/ApplicantItem.cs

@@ -0,0 +1,59 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+using UnityEngine;
+using UnityEngine.UI;
+
+public class ApplicantItemLabel
+{
+    public static string ApplicantItem = "ApplicantItem";
+    public static string Nickname = "Nickname";
+    public static string Content = "Content";
+    public static string Frame = "Frame";
+    public static string VisitButton = "VisitButton";
+    public static string VisitButtonTitle = "VisitButtonTitle";
+    public static string VisitImagePlus = "VisitImagePlus";
+    public static string VerticalGroup = "VerticalGroup";
+    public static string AcceptButtonParent = "AcceptButtonParent";
+    public static string AcceptButton = "AcceptButton";
+    public static string AcceptButtonText = "AcceptButtonText";
+    public static string RefuseButtonParent = "RefuseButtonParent";
+    public static string RefuseButton = "RefuseButton";
+    public static string RefuseButtonText = "RefuseButtonText";
+}
+
+public class ApplicantItem : VirtualScrollRectItem
+{
+    #region Config
+
+    public Text NicknameTitle;
+    public Text ContentTitle;
+    public Text VisitButtonTitle;
+    public Text AcceptButtonText;
+    public Text RefuseButtonText;
+    public Button VisitButton;
+    public Button AcceptButton;
+    public Button RefuseButton;
+
+    #endregion
+
+    public override bool Init()
+    {
+        if (base.Init())
+        {
+            return true;
+        }
+
+
+
+        return false;
+    }
+
+
+    public void Reset(string nickname, string serialNumber, DateTime lastLoginDate)
+    {
+        NicknameTitle.text = nickname;
+        //ContentTitle.text = 
+    }
+}

+ 12 - 0
Assets/Script/Social/ApplicantItem.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: fc8d4c31e6140b049b21203cc564fa63
+timeCreated: 1511322888
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 42 - 4
Assets/Script/Social/FriendPanel.cs

@@ -24,8 +24,13 @@ public class FriendPanel : Regist
 	public static Transform FriendGrid;
     public static Transform ApplicantGrid;
 	public static Transform FriendPanelMask;
-    public static ScrollRectPlus FriendScrollRect;
-    public static ScrollRectPlus ApplicantScrollRect;
+    public static CanvasGroup PanelParentCanvasGroup;
+    public static VirtualScrollRectPlus FriendScrollRect;
+    public static VirtualScrollRectPlus ApplicantScrollRect;
+
+    private static float RefreshApplicantTime = 15f;
+    private static float RefreshApplicantTimer;
+    private static List<VirtualScrollRectItem> ApplicantItems = new List<VirtualScrollRectItem>();
 
     public static TweenOutline OpenPanelButtonOutlineTween;
 
@@ -51,8 +56,9 @@ public class FriendPanel : Regist
         FriendGrid = ResourceManager.Get(ObjectLabel.AF_FriendGrid);
         ApplicantGrid = ResourceManager.Get(ObjectLabel.AF_ApplicantGrid);
         FriendPanelMask = ResourceManager.Get(ObjectLabel.AF_FriendPanelMask);
-        FriendScrollRect = ResourceManager.Get<ScrollRectPlus>(ObjectLabel.AF_FriendScrollRect);
-        ApplicantScrollRect = ResourceManager.Get<ScrollRectPlus>(ObjectLabel.AF_ApplicantScrollRect);
+        PanelParentCanvasGroup = ResourceManager.Get<CanvasGroup>(ObjectLabel.AF_FriendPanelParent);
+        FriendScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(ObjectLabel.AF_FriendScrollRect);
+        ApplicantScrollRect = ResourceManager.Get<VirtualScrollRectPlus>(ObjectLabel.AF_ApplicantScrollRect);
 
         LanguageManager.Add(NicknameTitle, Language.GetStr(LanguageLabel.UI__AF_NicknameTitle));
         LanguageManager.Add(ContentTitle, Language.GetStr(LanguageLabel.UI__AF_ContentTitle));
@@ -80,6 +86,38 @@ public class FriendPanel : Regist
         };
     }
 
+
+    private void Update()
+    {
+        RefreshApplicantTimer += Time.deltaTime;
+        if (RefreshApplicantTimer >= RefreshApplicantTime)
+        {
+            RefreshApplicantTimer = 0;
+            RefreshApplicant();
+        }
+    }
+
+    private static void RefreshApplicant()
+    {
+        HttpManager.GetApplicantList(RefreshApplicantCallback, () => { });
+    }
+
+    private static void RefreshApplicantCallback(List<AccountData> accountDatas)
+    {
+        foreach (var applicantItem in ApplicantItems)
+        {
+            ResourceManager.Save(applicantItem);
+        }   
+        ApplicantItems = new List<VirtualScrollRectItem>();
+        for (int i = 0; i < accountDatas.Count; i++)
+        {
+            
+        }
+    }
+
+
+
+
     public static void OpenPanel()
     {
         AudioManager.PlayClip(ResourceLabel.BtnClip);

+ 16 - 15
Assets/Script/Social/VirtualScrollRectPlus.cs

@@ -8,7 +8,7 @@ using UnityEngine.UI;
 
 public class VirtualScrollRectPlus : ScrollRect
 {
-    #region
+    #region Config //上锁 解锁 对象池 需要外部实现
 
     public Action OnVerticalLessEqual0;
     public Action OnVerticalGreaterEqual1;
@@ -22,6 +22,7 @@ public class VirtualScrollRectPlus : ScrollRect
     public int FirstIndex;
     public int LastIndex;
     public bool Inited;
+    public HorizontalOrVerticalLayoutGroup LayoutGroup;
 
     public int MaxRollAmount;
     public int MaxChildAmount;
@@ -40,28 +41,26 @@ public class VirtualScrollRectPlus : ScrollRect
         {
             return;
         }
-        Debug.Log(verticalNormalizedPosition);
+
         if (horizontal && !vertical)
         {
-            if (horizontalNormalizedPosition >= 1)
+            if (horizontalNormalizedPosition <= 0)
             {
                 if (!PreviousPageLock)
                 {
                     Vector2 widthAndHeight = PreviousPage();
                     Roll(new Vector2(-widthAndHeight.x, 0));
-                    Debug.LogWarning(widthAndHeight);
                 }
 
                 OnHorizontalGreaterEqual1.SafeInvoke();
             }
 
-            if (horizontalNormalizedPosition <= 0)
+            if (horizontalNormalizedPosition >= 1)
             {
                 if (!NextPageLock)
                 {
                     Vector2 widthAndHeight = NextPage();
                     Roll(new Vector2(widthAndHeight.x, 0));
-                    Debug.LogWarning(widthAndHeight);
                 }
 
                 OnHorizontalLessEqual0.SafeInvoke();
@@ -75,7 +74,6 @@ public class VirtualScrollRectPlus : ScrollRect
                 {
                     Vector2 widthAndHeight = PreviousPage();
                     Roll(new Vector2(0, widthAndHeight.y));
-                    Debug.LogWarning(widthAndHeight);
                 }
 
                 OnVerticalGreaterEqual1.SafeInvoke();
@@ -87,7 +85,6 @@ public class VirtualScrollRectPlus : ScrollRect
                 {
                     Vector2 widthAndHeight = NextPage();
                     Roll(new Vector2(0, -widthAndHeight.y));
-                    Debug.LogWarning(widthAndHeight);
                 }
 
                 OnVerticalLessEqual0.SafeInvoke();
@@ -101,7 +98,8 @@ public class VirtualScrollRectPlus : ScrollRect
         Inited = true;
         MaxRollAmount = maxRollAmount;
         MaxChildAmount = maxChildAmount;
-        GetNextItem = getPreviousItem;
+        LayoutGroup = content.GetComponent<HorizontalOrVerticalLayoutGroup>();
+        GetNextItem = getNextItem;
         GetPreviousItem = getPreviousItem;
         OnSaveItem = onSaveItem;
     }
@@ -157,11 +155,12 @@ public class VirtualScrollRectPlus : ScrollRect
 
     public Vector2 NextPage()
     {
-        Debug.LogWarning("NextPage");
+        //Debug.LogWarning("NextPage");
         List<VirtualScrollRectItem> rolledItems = new List<VirtualScrollRectItem>();
         for (int i = 0; i < MaxRollAmount; i++)
         {
-            VirtualScrollRectItem item = GetNextItem.Invoke(LastIndex);
+            int dataIndex = Children.Count == 0 ? 0 : LastIndex + 1;
+            VirtualScrollRectItem item = GetNextItem.Invoke(dataIndex);
             if (item == null)
             {
                 break;
@@ -173,21 +172,22 @@ public class VirtualScrollRectPlus : ScrollRect
                     SaveFirstChild();
                     rolledItems.Add(item);
                 }
-                InsertChildToLast(++LastIndex, item);
+                InsertChildToLast(dataIndex, item);
             }
         }
 
         Vector2 widthAndHeight = new Vector2(rolledItems.MySum(item => item.RectTransform.rect.width), rolledItems.MySum(item => item.RectTransform.rect.height));
+        widthAndHeight += new Vector2(LayoutGroup.spacing, LayoutGroup.spacing) * Mathf.Max(rolledItems.Count - 1, 0);
         return widthAndHeight;
     }
 
     public Vector2 PreviousPage()
     {
-        Debug.LogWarning("PreviousPage");
+        //Debug.LogWarning("PreviousPage");
         List<VirtualScrollRectItem> rolledItems = new List<VirtualScrollRectItem>();
         for (int i = 0; i < MaxRollAmount; i++)
         {
-            VirtualScrollRectItem item = GetNextItem.Invoke(FirstIndex);
+            VirtualScrollRectItem item = GetPreviousItem.Invoke(FirstIndex-1);
             if (item == null)
             {
                 break;
@@ -199,11 +199,12 @@ public class VirtualScrollRectPlus : ScrollRect
                     SaveLastChild();
                     rolledItems.Add(item);
                 }
-                InsertChildToFirst(--FirstIndex, item);
+                InsertChildToFirst(FirstIndex-1, item);
             }
         }
 
         Vector2 widthAndHeight = new Vector2(rolledItems.MySum(item => item.RectTransform.rect.width), rolledItems.MySum(item => item.RectTransform.rect.height));
+        widthAndHeight += new Vector2(LayoutGroup.spacing, LayoutGroup.spacing)*Mathf.Max(rolledItems.Count - 1, 0);
         return widthAndHeight;
     }