浏览代码

增加侧边栏引导

LiuQilin 7 年之前
父节点
当前提交
f4ca2521b1

+ 1 - 0
Assets/Resource/Prefab/Object/DebugMode.prefab

@@ -262,6 +262,7 @@ MonoBehaviour:
   - {fileID: 21300278, guid: 8d523bac11c2f3742ab88a2cbd71bf39, type: 3}
   - {fileID: 21300278, guid: 8d523bac11c2f3742ab88a2cbd71bf39, type: 3}
   - {fileID: 1178346060137818, guid: e2d62becad3f170428db59673f313354, type: 2}
   - {fileID: 1178346060137818, guid: e2d62becad3f170428db59673f313354, type: 2}
   - {fileID: 1422722603004606, guid: f66999d8c3be4ff46b7dbde0417af018, type: 2}
   - {fileID: 1422722603004606, guid: f66999d8c3be4ff46b7dbde0417af018, type: 2}
+  - {fileID: 1405543926191242, guid: c4b5d8c946975864492b168f89e68abc, type: 2}
   ConfigList:
   ConfigList:
   - {fileID: 4900000, guid: f039d2181a3e9ea418ff5f211730b175, type: 3}
   - {fileID: 4900000, guid: f039d2181a3e9ea418ff5f211730b175, type: 3}
   - {fileID: 4900000, guid: ff8c2496a2cfe6e4eaa5262e9d7b0b2a, type: 3}
   - {fileID: 4900000, guid: ff8c2496a2cfe6e4eaa5262e9d7b0b2a, type: 3}

+ 106 - 0
Assets/Resource/Prefab/Object/FlyGold.prefab

@@ -0,0 +1,106 @@
+%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: 1405543926191242}
+  m_IsPrefabParent: 1
+--- !u!1 &1215403734024168
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4733928948470950}
+  m_Layer: 0
+  m_Name: GoldPosTra
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1405543926191242
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 4700068362335864}
+  - component: {fileID: 212568527093187264}
+  m_Layer: 0
+  m_Name: FlyGold
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4700068362335864
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1405543926191242}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: -1.27, y: -1.58, z: -0.0500001}
+  m_LocalScale: {x: 0.7403333, y: 0.7403333, z: 0.7403333}
+  m_Children:
+  - {fileID: 4733928948470950}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!4 &4733928948470950
+Transform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1215403734024168}
+  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: 4700068362335864}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &212568527093187264
+SpriteRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1405543926191242}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_Materials:
+  - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_SelectedEditorRenderState: 0
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_Sprite: {fileID: 21300000, guid: 95463847f23b0ac40a1ad2b0866ab7b1, type: 3}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_FlipX: 0
+  m_FlipY: 0

+ 8 - 0
Assets/Resource/Prefab/Object/FlyGold.prefab.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c4b5d8c946975864492b168f89e68abc
+timeCreated: 1510037150
+licenseType: Pro
+NativeFormatImporter:
+  userData: 
+  assetBundleName: scene
+  assetBundleVariant: 

+ 364 - 0
Assets/Resource/Prefab/PrefabUI/GroupB.prefab

@@ -489,6 +489,7 @@ GameObject:
   - component: {fileID: 224689931637150934}
   - component: {fileID: 224689931637150934}
   - component: {fileID: 222839404513105250}
   - component: {fileID: 222839404513105250}
   - component: {fileID: 114830412854372052}
   - component: {fileID: 114830412854372052}
+  - component: {fileID: 225766416945213794}
   m_Layer: 5
   m_Layer: 5
   m_Name: F_Manage0
   m_Name: F_Manage0
   m_TagString: ManagePanel
   m_TagString: ManagePanel
@@ -906,6 +907,41 @@ GameObject:
   m_NavMeshLayer: 0
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
   m_IsActive: 1
+--- !u!1 &1343002351720320
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224886103940314876}
+  m_Layer: 5
+  m_Name: F_CoinLabArrow
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &1343165206977022
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224301049649300382}
+  - component: {fileID: 222309329158210130}
+  - component: {fileID: 114008048856996156}
+  - component: {fileID: 225041101429342960}
+  - component: {fileID: 114549458923145970}
+  - component: {fileID: 114251376163375548}
+  m_Layer: 5
+  m_Name: F_TipBK
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
 --- !u!1 &1346443878185892
 --- !u!1 &1346443878185892
 GameObject:
 GameObject:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -1687,6 +1723,24 @@ GameObject:
   m_NavMeshLayer: 0
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
   m_IsActive: 1
+--- !u!1 &1578535386689668
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224899381105815460}
+  - component: {fileID: 222460421472628348}
+  - component: {fileID: 114582515736887560}
+  - component: {fileID: 114764067218293322}
+  m_Layer: 5
+  m_Name: F_Tip
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
 --- !u!1 &1583282252587274
 --- !u!1 &1583282252587274
 GameObject:
 GameObject:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -1718,6 +1772,24 @@ GameObject:
   m_NavMeshLayer: 0
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
   m_IsActive: 1
+--- !u!1 &1595271943448036
+GameObject:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 5
+  m_Component:
+  - component: {fileID: 224724741424412646}
+  - component: {fileID: 222175287282088944}
+  - component: {fileID: 114781395289693860}
+  - component: {fileID: 114878716550843326}
+  m_Layer: 5
+  m_Name: F_TipBtn
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
 --- !u!1 &1597714874604208
 --- !u!1 &1597714874604208
 GameObject:
 GameObject:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -3270,6 +3342,33 @@ MonoBehaviour:
   m_FillAmount: 1
   m_FillAmount: 1
   m_FillClockwise: 1
   m_FillClockwise: 1
   m_FillOrigin: 0
   m_FillOrigin: 0
+--- !u!114 &114008048856996156
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343165206977022}
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
 --- !u!114 &114038645238199476
 --- !u!114 &114038645238199476
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -4666,6 +4765,28 @@ MonoBehaviour:
   m_FillAmount: 1
   m_FillAmount: 1
   m_FillClockwise: 1
   m_FillClockwise: 1
   m_FillOrigin: 0
   m_FillOrigin: 0
+--- !u!114 &114251376163375548
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343165206977022}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 10
+    m_Right: 10
+    m_Top: 10
+    m_Bottom: 10
+  m_ChildAlignment: 4
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
 --- !u!114 &114251392176235482
 --- !u!114 &114251392176235482
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -6343,6 +6464,19 @@ MonoBehaviour:
   m_ChildForceExpandHeight: 1
   m_ChildForceExpandHeight: 1
   m_ChildControlWidth: 0
   m_ChildControlWidth: 0
   m_ChildControlHeight: 0
   m_ChildControlHeight: 0
+--- !u!114 &114549458923145970
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343165206977022}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 2
 --- !u!114 &114555878820016172
 --- !u!114 &114555878820016172
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -6653,6 +6787,39 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
     m_LineSpacing: 1
   m_Text: 0
   m_Text: 0
+--- !u!114 &114582515736887560
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1578535386689668}
+  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.19607843, g: 0.19607843, b: 0.19607843, 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: 12800000, guid: 0e86defab91f2fb4189708f6dde11005, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 20
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u63D0\u793A"
 --- !u!114 &114583010482564118
 --- !u!114 &114583010482564118
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -7796,6 +7963,19 @@ MonoBehaviour:
       m_Calls: []
       m_Calls: []
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       Culture=neutral, PublicKeyToken=null
       Culture=neutral, PublicKeyToken=null
+--- !u!114 &114764067218293322
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1578535386689668}
+  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 &114764243902614018
 --- !u!114 &114764243902614018
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -7918,6 +8098,33 @@ MonoBehaviour:
       m_Calls: []
       m_Calls: []
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       Culture=neutral, PublicKeyToken=null
       Culture=neutral, PublicKeyToken=null
+--- !u!114 &114781395289693860
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1595271943448036}
+  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}
+  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: 10905, guid: 0000000000000000f000000000000000, type: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
 --- !u!114 &114782493789392492
 --- !u!114 &114782493789392492
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -8588,6 +8795,47 @@ MonoBehaviour:
   m_FillAmount: 0
   m_FillAmount: 0
   m_FillClockwise: 0
   m_FillClockwise: 0
   m_FillOrigin: 2
   m_FillOrigin: 2
+--- !u!114 &114878716550843326
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1595271943448036}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 114781395289693860}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
 --- !u!114 &114887953751990228
 --- !u!114 &114887953751990228
 MonoBehaviour:
 MonoBehaviour:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -9646,6 +9894,12 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1807554589449926}
   m_GameObject: {fileID: 1807554589449926}
+--- !u!222 &222175287282088944
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1595271943448036}
 --- !u!222 &222182171066461268
 --- !u!222 &222182171066461268
 CanvasRenderer:
 CanvasRenderer:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -9754,6 +10008,12 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1444672313179750}
   m_GameObject: {fileID: 1444672313179750}
+--- !u!222 &222309329158210130
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343165206977022}
 --- !u!222 &222322499328308458
 --- !u!222 &222322499328308458
 CanvasRenderer:
 CanvasRenderer:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -9844,6 +10104,12 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 1757151041689946}
   m_GameObject: {fileID: 1757151041689946}
+--- !u!222 &222460421472628348
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1578535386689668}
 --- !u!222 &222460683807456918
 --- !u!222 &222460683807456918
 CanvasRenderer:
 CanvasRenderer:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -10755,6 +11021,9 @@ RectTransform:
   - {fileID: 224607867221133714}
   - {fileID: 224607867221133714}
   - {fileID: 224508586722394958}
   - {fileID: 224508586722394958}
   - {fileID: 224139494950361932}
   - {fileID: 224139494950361932}
+  - {fileID: 224886103940314876}
+  - {fileID: 224301049649300382}
+  - {fileID: 224724741424412646}
   m_Father: {fileID: 224637421988288774}
   m_Father: {fileID: 224637421988288774}
   m_RootOrder: 0
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -11274,6 +11543,25 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: -8}
   m_AnchoredPosition: {x: 0, y: -8}
   m_SizeDelta: {x: 0, y: -15.8}
   m_SizeDelta: {x: 0, y: -15.8}
   m_Pivot: {x: 0.5, y: 0.5}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224301049649300382
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343165206977022}
+  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: 224899381105815460}
+  m_Father: {fileID: 224137309595678166}
+  m_RootOrder: 10
+  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: -5.6649237, y: 19.71965}
+  m_SizeDelta: {x: 388.1, y: 39.439255}
+  m_Pivot: {x: 0.5, y: 1.0000002}
 --- !u!224 &224303333383915956
 --- !u!224 &224303333383915956
 RectTransform:
 RectTransform:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -12743,6 +13031,24 @@ RectTransform:
   m_AnchoredPosition: {x: 245, y: 0}
   m_AnchoredPosition: {x: 245, y: 0}
   m_SizeDelta: {x: 171, y: 57}
   m_SizeDelta: {x: 171, y: 57}
   m_Pivot: {x: 0.5, y: 0.5}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224724741424412646
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1595271943448036}
+  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: 224137309595678166}
+  m_RootOrder: 11
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: -132.90002, y: -147.04779}
+  m_SizeDelta: {x: 366.67, y: 398.09348}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &224726100782027630
 --- !u!224 &224726100782027630
 RectTransform:
 RectTransform:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -13399,6 +13705,24 @@ RectTransform:
   m_AnchoredPosition: {x: 0.0015106201, y: 0.0000038146973}
   m_AnchoredPosition: {x: 0.0015106201, y: 0.0000038146973}
   m_SizeDelta: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: -0.0000002521514, y: -0.00000013411045}
   m_Pivot: {x: -0.0000002521514, y: -0.00000013411045}
+--- !u!224 &224886103940314876
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343002351720320}
+  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: 224137309595678166}
+  m_RootOrder: 9
+  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: -283.1, y: 13.652252}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &224889786902652726
 --- !u!224 &224889786902652726
 RectTransform:
 RectTransform:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -13453,6 +13777,24 @@ RectTransform:
   m_AnchoredPosition: {x: -69.8, y: -34}
   m_AnchoredPosition: {x: -69.8, y: -34}
   m_SizeDelta: {x: 100, y: 100}
   m_SizeDelta: {x: 100, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!224 &224899381105815460
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1578535386689668}
+  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: 224301049649300382}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 194.05, y: -19.719627}
+  m_SizeDelta: {x: 368.1, y: 19.439253}
+  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!224 &224900738634093604
 --- !u!224 &224900738634093604
 RectTransform:
 RectTransform:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -13773,6 +14115,17 @@ RectTransform:
   m_AnchoredPosition: {x: 300, y: -380}
   m_AnchoredPosition: {x: 300, y: -380}
   m_SizeDelta: {x: 375, y: 375}
   m_SizeDelta: {x: 375, y: 375}
   m_Pivot: {x: 0.5, y: 0.5}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!225 &225041101429342960
+CanvasGroup:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1343165206977022}
+  m_Enabled: 1
+  m_Alpha: 0
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
 --- !u!225 &225099609868306486
 --- !u!225 &225099609868306486
 CanvasGroup:
 CanvasGroup:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1
@@ -13839,6 +14192,17 @@ CanvasGroup:
   m_Interactable: 1
   m_Interactable: 1
   m_BlocksRaycasts: 1
   m_BlocksRaycasts: 1
   m_IgnoreParentGroups: 0
   m_IgnoreParentGroups: 0
+--- !u!225 &225766416945213794
+CanvasGroup:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 1147145264494682}
+  m_Enabled: 1
+  m_Alpha: 1
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
 --- !u!225 &225820388588196840
 --- !u!225 &225820388588196840
 CanvasGroup:
 CanvasGroup:
   m_ObjectHideFlags: 1
   m_ObjectHideFlags: 1

+ 1 - 0
Assets/Resource/XML/lan/ChineseSimplified.xml

@@ -13,6 +13,7 @@
     <F_PersonBtn1 desc=""><![CDATA[每分钟有这么多人来参观花园]]></F_PersonBtn1>
     <F_PersonBtn1 desc=""><![CDATA[每分钟有这么多人来参观花园]]></F_PersonBtn1>
     <F_CoinPersonBtn0 desc=""><![CDATA[门票]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn0 desc=""><![CDATA[门票]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn1 desc=""><![CDATA[每位来访者参观花费]]></F_CoinPersonBtn1>
     <F_CoinPersonBtn1 desc=""><![CDATA[每位来访者参观花费]]></F_CoinPersonBtn1>
+    <F_Tip desc=""><![CDATA[这是一款健康游戏,不在线也可以持续获得金币。如果觉得暂时没什么可做的,可以过一段时间再来玩]]></F_Tip>
     <Fe_BtnLab0 desc=""><![CDATA[提前解锁]]></Fe_BtnLab0>
     <Fe_BtnLab0 desc=""><![CDATA[提前解锁]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[解锁]]></Fe_BtnLab1>
     <Fe_BtnLab1 desc=""><![CDATA[解锁]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[升级]]></Fe_BtnLab2>
     <Fe_BtnLab2 desc=""><![CDATA[升级]]></Fe_BtnLab2>

+ 1 - 0
Assets/Resource/XML/lan/ChineseTraditional.xml

@@ -13,6 +13,7 @@
     <F_PersonBtn1 desc=""><![CDATA[每分鐘有這麼多人來參觀花園]]></F_PersonBtn1>
     <F_PersonBtn1 desc=""><![CDATA[每分鐘有這麼多人來參觀花園]]></F_PersonBtn1>
     <F_CoinPersonBtn0 desc=""><![CDATA[門票]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn0 desc=""><![CDATA[門票]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn1 desc=""><![CDATA[每位來訪者參觀花費]]></F_CoinPersonBtn1>
     <F_CoinPersonBtn1 desc=""><![CDATA[每位來訪者參觀花費]]></F_CoinPersonBtn1>
+    <F_Tip desc=""><![CDATA[這是一款健康遊戲,不在線上也可以持續獲得金幣。如果覺得暫時沒什麼可做的,可以過一段時間再來玩。]]></F_Tip>
     <Fe_BtnLab0 desc=""><![CDATA[提前解鎖]]></Fe_BtnLab0>
     <Fe_BtnLab0 desc=""><![CDATA[提前解鎖]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[解鎖]]></Fe_BtnLab1>
     <Fe_BtnLab1 desc=""><![CDATA[解鎖]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[升級]]></Fe_BtnLab2>
     <Fe_BtnLab2 desc=""><![CDATA[升級]]></Fe_BtnLab2>

+ 1 - 0
Assets/Resource/XML/lan/English.xml

@@ -13,6 +13,7 @@
     <F_PersonBtn1 desc=""><![CDATA[Visitors per minute]]></F_PersonBtn1>
     <F_PersonBtn1 desc=""><![CDATA[Visitors per minute]]></F_PersonBtn1>
     <F_CoinPersonBtn0 desc=""><![CDATA[Ticket]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn0 desc=""><![CDATA[Ticket]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn1 desc=""><![CDATA[Ticket per visitor]]></F_CoinPersonBtn1>
     <F_CoinPersonBtn1 desc=""><![CDATA[Ticket per visitor]]></F_CoinPersonBtn1>
+    <F_Tip desc=""><![CDATA[This is a healthy game, that means you can get coins when you are offline. If you feel tired, come to play after a rest.]]></F_Tip>
     <Fe_BtnLab0 desc=""><![CDATA[Unlock Now]]></Fe_BtnLab0>
     <Fe_BtnLab0 desc=""><![CDATA[Unlock Now]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[Unlock]]></Fe_BtnLab1>
     <Fe_BtnLab1 desc=""><![CDATA[Unlock]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[Upgrade]]></Fe_BtnLab2>
     <Fe_BtnLab2 desc=""><![CDATA[Upgrade]]></Fe_BtnLab2>

二进制
Assets/Resource/Xlsx/language_config.xlsx


+ 1 - 1
Assets/Script/Extension/ExtensionScrollRect.cs

@@ -20,7 +20,7 @@ public static class ExtensionScrollRect
     public static MoveRoot Locate(this ScrollRect scrollRect, int index, float duration, Curve curve, LocatePos locatePos)
     public static MoveRoot Locate(this ScrollRect scrollRect, int index, float duration, Curve curve, LocatePos locatePos)
     {
     {
         float scaleFactor = scrollRect.GetComponent<Image>().canvas.scaleFactor;
         float scaleFactor = scrollRect.GetComponent<Image>().canvas.scaleFactor;
-
+        
         LayoutGroup layoutGroup = scrollRect.content.GetComponent<LayoutGroup>();
         LayoutGroup layoutGroup = scrollRect.content.GetComponent<LayoutGroup>();
 
 
         RectTransform tra1 = scrollRect.GetComponent<RectTransform>();
         RectTransform tra1 = scrollRect.GetComponent<RectTransform>();

+ 39 - 0
Assets/Script/Manage/ManaAchieve.cs

@@ -605,4 +605,43 @@ public class ManaAchieve : Regist
             DeleDic[type].SafeInvoke(value);
             DeleDic[type].SafeInvoke(value);
         }
         }
     }
     }
+
+    private static int MaxDisplayAmt = 4;
+    public static void OpenAchievePanel()
+    {
+        TweenRoot tweenRoot = ManaReso.Get("M_Achieve0").TweenForVec();
+
+        ManaAudio.PlayClip(Clip.BtnClip);
+
+        Achieve completedAchieve = null;
+        foreach (var achieve in AchieveDic.Values)
+        {
+            if (achieve.Complete)
+            {
+                completedAchieve = achieve;
+                break;
+            }
+        }
+
+        if (completedAchieve != null)
+        {
+            tweenRoot.AddEventOnetime
+            (
+                EventType.ForwardFinish,
+                () =>
+                {
+                    ScrollRect scrollRect = ManaReso.Get<ScrollRect>("M_Scrr");
+                    int index = completedAchieve.AchieveItem.GetSiblingIndex();
+                    if (index < scrollRect.content.childCount - MaxDisplayAmt)
+                    {
+                        scrollRect.Locate(index, 0.25f, Curve.EaseOutQuad, LocatePos.Up);
+                    }
+                    else
+                    {
+                        scrollRect.Locate(scrollRect.content.childCount-1, 0.25f, Curve.EaseOutQuad, LocatePos.Down);
+                    }
+                }
+            );
+        }
+    }
 }
 }

+ 2 - 2
Assets/Script/Manage/ManaNickName.cs

@@ -112,13 +112,13 @@ public class ManaNickName : Regist
         }
         }
 	}
 	}
 
 
-    public static void ResetFailed()
+    public static void ResetFailed(string str)
     {
     {
         ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Tit"));
         ManaReso.SetText("T_Tit", Language.GetStr("UI", "T_Tit"));
 
 
         ManaReso.Get<CanvasGroup>("T_NickNameBK").interactable = true;
         ManaReso.Get<CanvasGroup>("T_NickNameBK").interactable = true;
 
 
-        Bubble.Show(null, Language.GetStr("UI", "T_RepeatName"));
+        Bubble.Show(null, str);
     }
     }
 
 
     public static void ResetSucceed()
     public static void ResetSucceed()

+ 3 - 1
Assets/Script/Manage/ManaReso.cs

@@ -68,6 +68,7 @@ public enum ObjType
     Music,
     Music,
 
 
     Star,
     Star,
+    FlyGold,
     ADChest,
     ADChest,
     PlazaRoomChest,
     PlazaRoomChest,
     DropGold,
     DropGold,
@@ -590,13 +591,14 @@ public class ManaReso : Regist
 
 
         Vector3 pos = slot.transform.position;
         Vector3 pos = slot.transform.position;
 
 
-        pos.z = -0.35f + Random.Range(-0.01f, 0.01f);
+        //pos.z = -0.35f + Random.Range(-0.01f, 0.01f);
 
 
         Transform tra = Get("Star", Folder.Scene, false, null, pos, ObjType.Star);
         Transform tra = Get("Star", Folder.Scene, false, null, pos, ObjType.Star);
 
 
         Star star = tra.GetComponent<Star>();
         Star star = tra.GetComponent<Star>();
 
 
         tra.parent = slot.transform;
         tra.parent = slot.transform;
+        tra.SetLZ(-0.1f + Random.Range(-0.0001f, -0.001f));
 
 
         if (star == null)
         if (star == null)
         {
         {

+ 7 - 3
Assets/Script/Manage/ManaServer.cs

@@ -181,7 +181,7 @@ public class ManaServer : Regist
     }
     }
 
 
 
 
-    public static void SetNickName(string nickname, Action succeedCallback, Action failCallback)
+    public static void SetNickName(string nickname, Action succeedCallback, Action<string> failCallback)
     {
     {
         URLRequestData urlData = new URLRequestData();
         URLRequestData urlData = new URLRequestData();
 
 
@@ -199,9 +199,13 @@ public class ManaServer : Regist
                 {
                 {
                     succeedCallback.Invoke();
                     succeedCallback.Invoke();
                 }
                 }
+                else if (data.Contains("Could not resolve host"))
+                {
+                    failCallback.Invoke(Language.GetStr("UI", "Fg_Lab3"));
+                }
                 else
                 else
                 {
                 {
-                    failCallback.Invoke();
+                    failCallback.Invoke(Language.GetStr("UI", "T_RepeatName"));
                 }
                 }
             },
             },
             URLRequest.Method.POST
             URLRequest.Method.POST
@@ -957,7 +961,7 @@ public class ManaServer : Regist
         ManaCenter.SaveTimer = 0;
         ManaCenter.SaveTimer = 0;
 
 
         URLRequestData urlData = new URLRequestData();
         URLRequestData urlData = new URLRequestData();
-        
+
         urlData.Add("u", SerialNumber);
         urlData.Add("u", SerialNumber);
         urlData.Add("v", ReplayVersion);
         urlData.Add("v", ReplayVersion);
 
 

+ 31 - 1
Assets/Script/Manage/ManaTutorial.cs

@@ -256,15 +256,24 @@ public class ManaTutorial : Regist
         EnterA9();
         EnterA9();
     }
     }
 
 
+    public static void EndA9()
+    {
+        Tutorial.HightDisable(0, false);
+    }
+
     public static void EndA()
     public static void EndA()
     {
     {
         StaticsManager.GetInstance().TutoComplete("A");
         StaticsManager.GetInstance().TutoComplete("A");
 
 
         TutorialA = false;
         TutorialA = false;
 
 
+        ManaAudio.PlayClip(Clip.CloseClip);
+
         ManaAchieve.UpdateHint();
         ManaAchieve.UpdateHint();
 
 
         Tutorial.HightDisable();
         Tutorial.HightDisable();
+        ManaReso.Get("F_TipBK").TweenBacCG();
+        ManaReso.SetActive("F_TipBtn", false);
 
 
         ManaReso.SetActive("Tutorial", false);
         ManaReso.SetActive("Tutorial", false);
         ManaReso.SetActive("N_Tutorial", false);
         ManaReso.SetActive("N_Tutorial", false);
@@ -767,11 +776,32 @@ public class ManaTutorial : Regist
             "F_SkillBk11",
             "F_SkillBk11",
             () =>
             () =>
             {
             {
-                EndA();
+                EndA9();
+                EnterA10();
             }
             }
         );
         );
     }
     }
 
 
+    public static void EnterA10()
+    {
+        ManaReso.Get("N_Mask").TweenForGra();
+
+        ManaReso.Get("F_TipBK").TweenForCG();
+        ManaReso.SetText("F_Tip", Language.GetStr("UI", "F_Tip"));
+
+        ManaReso.SetActive("F_TipBtn", true);
+        ManaReso.AddButtonEventOnetime("F_TipBtn", () => EndA());
+
+        ManaReso.Get<ContentSizeFitter>("F_TipBK").SetLayoutVertical();
+        ManaReso.Get<ContentSizeFitter>("F_TipBK").SetLayoutHorizontal();
+        Tutorial.HightScreen(ManaReso.Get("F_CoinLabArrow"), ManaReso.Get("F_TipBtn"), 3);
+        Tutorial.HightScreen(ManaReso.Get("F_CoinLabArrow"), ManaReso.Get("F_TipBK"), 1);
+        Tutorial.HightScreen(ManaReso.Get("F_CoinLabArrow"), ManaReso.Get("F_Tip"), 2);
+        Tutorial.HightScreen(ManaReso.Get("F_CoinLabArrow"), ManaReso.Get("F_DataB"), 1);
+        Tutorial.HightScreen(ManaReso.Get("F_CoinLabArrow"), ManaReso.Get("F_CoinLab"), 2);
+        Tutorial.HightScreen(ManaReso.Get("F_CoinLabArrow"), ManaReso.Get("F_DiamondLab"), 2);
+    }
+
 
 
     public static void EndC()
     public static void EndC()
     {
     {

+ 94 - 6
Assets/Script/Manage/ManaUI.cs

@@ -327,9 +327,7 @@ public class ManaUI : Regist
             "C_Achieve",
             "C_Achieve",
             () =>
             () =>
             {
             {
-                ManaReso.Get("M_Achieve0").TweenForVec();
-
-                ManaAudio.PlayClip(Clip.BtnClip);
+                ManaAchieve.OpenAchievePanel();
             }
             }
         );
         );
 
 
@@ -346,9 +344,7 @@ public class ManaUI : Regist
             "C_Manage",
             "C_Manage",
             () =>
             () =>
             {
             {
-                ManaReso.Get("F_Manage0").TweenForVec();
-
-                ManaAudio.PlayClip(Clip.BtnClip);
+                OpenManagePanel();
             }
             }
         );
         );
 
 
@@ -1300,6 +1296,8 @@ public class ManaUI : Regist
         ManaLan.Add(ManaReso.Get<Text>("Fg_Lab"), new LanStr("UI", "Fg_Lab0"));
         ManaLan.Add(ManaReso.Get<Text>("Fg_Lab"), new LanStr("UI", "Fg_Lab0"));
         ManaLan.Add(ManaReso.Get<Text>("Fg_BtnLab"), new LanStr("UI", "Fg_BtnLab"));
         ManaLan.Add(ManaReso.Get<Text>("Fg_BtnLab"), new LanStr("UI", "Fg_BtnLab"));
 
 
+        ManaReso.Get("F_TipBK").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
         #region F_Close
         #region F_Close
 
 
         ManaReso.AddButtonEvent
         ManaReso.AddButtonEvent
@@ -3421,6 +3419,96 @@ public class ManaUI : Regist
         tween.Pause();
         tween.Pause();
     }
     }
 
 
+    private static int MaxSkillDisplayAmt = 2;
+    private static int MaxAbilityDisplayAmt = 3;
+    public static void OpenManagePanel()
+    {
+        ManaReso.Get("F_Manage0").TweenForVec();
+
+        ManaAudio.PlayClip(Clip.BtnClip);
+
+        if (ManaTutorial.TutorialA)
+        {
+            return;
+        }
+
+        SkillRoot skillRoot = null;
+        ScrollRect scrollRect = null;
+        foreach (var skill in ManaCenter.SkillList)
+        {
+            if (skill.ItemStatus == SkillStatus.UnLock)
+            {
+                skillRoot = skill;
+                break;
+            }
+        }
+
+        if (skillRoot != null)
+        {
+            MoveRoot moveRoot;
+            TweenRoot tweenRoot = ManaReso.Get("F_Manage").GetTweenGra();
+            tweenRoot.AddEventOnetime
+            (
+                EventType.ForwardFinish,
+                () =>
+                {
+                    ManaReso.Get<CanvasGroup>("F_Manage0").interactable = false;
+                    if (skillRoot.SkillType == SkillType.Skill || skillRoot.SkillType == SkillType.BigSkill)
+                    {
+                        ManaReso.Get<Button>("F_Garden").onClick.Invoke();
+                        DelayCall.Call
+                        (
+                            1,
+                            () =>
+                            {
+                                int index = skillRoot.SkillItem.GetSiblingIndex();
+                                scrollRect = ManaReso.Get<ScrollRect>("Fa_Scrr");
+                                if (index < scrollRect.content.childCount - MaxSkillDisplayAmt)
+                                {
+                                    moveRoot = scrollRect.Locate(index, 0.25f, Curve.EaseOutQuad, LocatePos.Up);
+                                    moveRoot.AddEventOnetime(EventType.ForwardFinish, () => ManaReso.Get<CanvasGroup>("F_Manage0").interactable = true);
+                                }
+                                else
+                                {
+                                    moveRoot = scrollRect.Locate(scrollRect.content.childCount - 1, 0.25f, Curve.EaseOutQuad, LocatePos.Down);
+                                    moveRoot.AddEventOnetime(EventType.ForwardFinish, () => ManaReso.Get<CanvasGroup>("F_Manage0").interactable = true);
+                                }
+                            }
+                        );
+                    }
+                    else if (skillRoot.SkillType == SkillType.Ability)
+                    {
+                        ManaReso.Get<Button>("F_Elf").onClick.Invoke();
+                        DelayCall.Call
+                        (
+                            1,
+                            () =>
+                            {
+                                int index = skillRoot.SkillItem.GetSiblingIndex();
+                                scrollRect = ManaReso.Get<ScrollRect>("Fd_Scrr");
+                                if (index < scrollRect.content.childCount - MaxAbilityDisplayAmt)
+                                {
+                                    moveRoot = scrollRect.Locate(index, 0.25f, Curve.EaseOutQuad, LocatePos.Up);
+                                    moveRoot.AddEventOnetime(EventType.ForwardFinish, () => ManaReso.Get<CanvasGroup>("F_Manage0").interactable = true);
+                                }
+                                else
+                                {
+                                    moveRoot = scrollRect.Locate(scrollRect.content.childCount - 1, 0.25f, Curve.EaseOutQuad, LocatePos.Down);
+                                    moveRoot.AddEventOnetime(EventType.ForwardFinish, () => ManaReso.Get<CanvasGroup>("F_Manage0").interactable = true);
+                                }
+                            }
+                        );
+                    }
+                    else
+                    {
+                        ManaReso.Get<CanvasGroup>("F_Manage0").interactable = true;
+                        throw new Exception();
+                    }
+                }
+            );
+        }
+    }
+
     public static void NavigateBuyCoin()
     public static void NavigateBuyCoin()
     {
     {
         ManaReso.Get<Button>("F_Magic").onClick.Invoke();
         ManaReso.Get<Button>("F_Magic").onClick.Invoke();

+ 35 - 43
Assets/Script/Manage/ManaVisit.cs

@@ -20,8 +20,16 @@ public enum ArchiveSource
 
 
 public class VisitData
 public class VisitData
 {
 {
-    public bool Praised;
+    //public bool Praised;
+
     public JsonData JsonData;
     public JsonData JsonData;
+    public XmlDocument Document;
+
+    public VisitData(JsonData jsonData, XmlDocument document)
+    {
+        JsonData = jsonData;
+        Document = document;
+    }
 }
 }
 
 
 public class ManaVisit : Regist
 public class ManaVisit : Regist
@@ -62,7 +70,6 @@ public class ManaVisit : Regist
     public static bool Complete;
     public static bool Complete;
     public static bool LoadComplete;
     public static bool LoadComplete;
     public static bool TweenComplete;
     public static bool TweenComplete;
-    public static string XmlStr;
 
 
     public static int Slot;
     public static int Slot;
     public static int Level;
     public static int Level;
@@ -833,21 +840,6 @@ public class ManaVisit : Regist
 
 
     public static void GetArchive(ArchiveSource archiveSource, string info = null)
     public static void GetArchive(ArchiveSource archiveSource, string info = null)
     {
     {
-        //LoadComplete = true;
-
-        //XmlStr = Auxiliary.Instance.TextAsset.text;
-        //VisiteePraise = 0;
-
-        //Document = new XmlDocument();
-        //Document.LoadXml(XmlStr);
-
-        ////SetVisiteePraise(Document);
-        ////SetVisiteeCommentPanel();
-
-        //EnterVisiteeGarden();
-        //Debug.Log(Document.OuterXml);
-        //return;
-
         if (archiveSource == ArchiveSource.SerialNumber)
         if (archiveSource == ArchiveSource.SerialNumber)
         {
         {
             ManaServer.Other
             ManaServer.Other
@@ -855,43 +847,39 @@ public class ManaVisit : Regist
                 info,
                 info,
                 data =>
                 data =>
                 {
                 {
-                    //Debug.LogWarning(data.ToJson());
                     VisiteeSerialNumber = info;
                     VisiteeSerialNumber = info;
-                    PullArchiveCallback(data, ShowFailPanel, EnterVisiteeGarden);
+                    PullArchiveCallback
+                    (
+                        data,
+                        ShowFailPanel,
+                        (jData) =>
+                        {
+                            XmlDocument document = new XmlDocument();
+                            document.LoadXml(data["l"].ToString());
+                            EnterVisiteeGarden(new VisitData(jData, document));
+                        }
+                    );
                 }
                 }
             );
             );
         }
         }
         else if (archiveSource == ArchiveSource.Random)
         else if (archiveSource == ArchiveSource.Random)
         {
         {
-            //Debug.Log($"新存档{UnusedDataList.Count}    已用存档{UsedDataList.Count}");
-
             if (UnusedDataList.Count > 0)
             if (UnusedDataList.Count > 0)
             {
             {
-                EnterVisiteeGarden(UnusedDataList[0].JsonData);
+                EnterVisiteeGarden(UnusedDataList[0]);
 
 
                 UsedDataList.Add(UnusedDataList[0]);
                 UsedDataList.Add(UnusedDataList[0]);
                 UnusedDataList.RemoveAt(0);
                 UnusedDataList.RemoveAt(0);
             }
             }
             else if (UsedDataList.Count > 0)
             else if (UsedDataList.Count > 0)
             {
             {
-                EnterVisiteeGarden(UsedDataList.Random()[0].JsonData);
+                EnterVisiteeGarden(UsedDataList.Random()[0]);
             }
             }
             else
             else
             {
             {
                 ShowFailPanel();
                 ShowFailPanel();
             }
             }
         }
         }
-        //else
-        //{
-        //    LoadComplete = true;
-
-        //    XmlStr = CreateArchive();
-
-        //    Document = new XmlDocument();
-        //    Document.LoadXml(XmlStr);
-
-        //    EnterVisiteeGarden();
-        //}
     }
     }
 
 
     public static void PullArchiveCallback(JsonData jsonData, Action failed, Action<JsonData> succeed)
     public static void PullArchiveCallback(JsonData jsonData, Action failed, Action<JsonData> succeed)
@@ -910,22 +898,26 @@ public class ManaVisit : Regist
 
 
     public static void SavePulledArchive(JsonData jsonData)
     public static void SavePulledArchive(JsonData jsonData)
     {
     {
-        UnusedDataList.Add(new VisitData() {JsonData = jsonData});
+        //Debug.Log(jsonData.ToJson());
+        XmlDocument document = new XmlDocument();
+        document.LoadXml(jsonData["l"].ToString());
+        XmlNode xmlNode = document.SelectSingleNode("PlayerConfig").SelectSingleNode("SerialNumber");
+        if (xmlNode != null && xmlNode.Attributes[0].Value != ManaServer.SerialNumber)
+        {
+            UnusedDataList.Add(new VisitData(jsonData, document));
+        }
     }
     }
 
 
-    public static void EnterVisiteeGarden(JsonData jsonData)
+    public static void EnterVisiteeGarden(VisitData visitData)
     {
     {
         LoadComplete = true;
         LoadComplete = true;
-        //Debug.Log(jsonData.ToJson());
-        XmlStr = jsonData["l"].ToString();
-        VisiteePraise = int.Parse(jsonData["p"].ToString());
-        if (jsonData.Inst_Object.ContainsKey("i"))
+        VisiteePraise = int.Parse(visitData.JsonData["p"].ToString());
+        if (visitData.JsonData.Inst_Object.ContainsKey("i"))
         {
         {
-            VisiteeSerialNumber = jsonData["i"].ToString();
+            VisiteeSerialNumber = visitData.JsonData["i"].ToString();
         }
         }
 
 
-        Document = new XmlDocument();
-        Document.LoadXml(XmlStr);
+        Document = visitData.Document;
 
 
         SetVisiteeCommentPanel();
         SetVisiteeCommentPanel();
 
 

+ 35 - 8
Assets/Script/Object/Flower.cs

@@ -574,24 +574,51 @@ public class Flower : Regist, IPointerClickHandler
         PlayFlashLight();
         PlayFlashLight();
 
 
         int coin;
         int coin;
-
         if (ManaVisit.InVisit)
         if (ManaVisit.InVisit)
         {
         {
-            int awardMin = Mathf.CeilToInt((float) Auxiliary.FmlParse(ManaVisit.AwardMinFml, "l", ManaCenter.Level.ToString()));
-            int awardMax = Mathf.CeilToInt((float) Auxiliary.FmlParse(ManaVisit.AwardMaxFml, "l", ManaCenter.Level.ToString()));
-
+            int awardMin = Mathf.CeilToInt((float)Auxiliary.FmlParse(ManaVisit.AwardMinFml, "l", ManaCenter.Level.ToString()));
+            int awardMax = Mathf.CeilToInt((float)Auxiliary.FmlParse(ManaVisit.AwardMaxFml, "l", ManaCenter.Level.ToString()));
             coin = Mathf.CeilToInt(Mathf.Lerp(awardMin, awardMax, Random.Range(0f, 1f)));
             coin = Mathf.CeilToInt(Mathf.Lerp(awardMin, awardMax, Random.Range(0f, 1f)));
-
-            ManaCenter.AddCoin(coin, StaticsManager.ItemID.获得金币, StaticsManager.ConsumeModule.ClickFlower);
         }
         }
         else
         else
         {
         {
-            coin = Mathf.CeilToInt((float)Auxiliary.FmlParse(FlowerCoinFml, "l", Mathf.Clamp(ManaCenter.Level, 1, Mathf.Infinity).ToString())*FlowerInfo.FlowerCoinBuff);
 
 
-            ManaCenter.AddCoin(coin, StaticsManager.ItemID.获得金币, StaticsManager.ConsumeModule.ClickFlower);
+            coin = Mathf.CeilToInt((float)Auxiliary.FmlParse(FlowerCoinFml, "l", Mathf.Clamp(ManaCenter.Level, 1, Mathf.Infinity).ToString()) * FlowerInfo.FlowerCoinBuff);
             ManaCenter.FlowerCoin++;
             ManaCenter.FlowerCoin++;
         }
         }
 
 
+        Transform flyGold = ManaReso.Get("FlyGold", Folder.Scene, false, null, GoldIcon.position, ObjType.FlyGold);
+        TweenRoot tweenRoot = flyGold.GetTweenSr();
+        if (tweenRoot == null)
+        {
+            tweenRoot = flyGold.CreateTweenSr(1, 0, 0.25f, true, false, Curve.EaseOutQuad);
+            tweenRoot.AddEventOnetime(EventType.ForwardFinish, () => { ManaReso.Save(flyGold); });
+        }
+        else
+        {
+            tweenRoot.InOrigin = true;
+        }
+        
+        Move2D move2D = new Move2D(flyGold);
+        move2D.Restrain2D = Restrain2D.Y;
+        Vector3 destination = Camera.main.ScreenToWorldPoint(ManaReso.Get("C_Coin").position);
+        move2D.StartMove(destination, 0.5f, false, Curve.EaseOutQuad);
+
+        move2D = new Move2D(flyGold);
+        move2D.Restrain2D = Restrain2D.X;
+        destination = Camera.main.ScreenToWorldPoint(ManaReso.Get("C_Coin").position);
+        move2D.StartMove(destination, 0.5f, false, Curve.Linear);
+
+        DelayCall.Call
+        (
+            0.4f,
+            () =>
+            {
+                tweenRoot.StartForward();
+                ManaCenter.AddCoin(coin, StaticsManager.ItemID.获得金币, StaticsManager.ConsumeModule.ClickFlower);
+            }
+        );
+
         ManaReso.GetHudText("<(金币)>+" + coin, Color.white, 90, ChildDic["GoldPosTra"], ManaReso.Get("A_HudParent"), true);
         ManaReso.GetHudText("<(金币)>+" + coin, Color.white, 90, ChildDic["GoldPosTra"], ManaReso.Get("A_HudParent"), true);
 
 
         ResetAward();
         ResetAward();

+ 19 - 2
Assets/Script/Object/Star.cs

@@ -152,8 +152,25 @@ public class Star : MonoBehaviour, IPointerClickHandler
 
 
         ManaInfoBox.Show(InfoCategory.Garden, Language.GetStr("Object", "Star") + CD.ToString("0") + Auxiliary.GetUnit((int)CD, Unit.Second), 10f, Color.white, ManaReso.LoadSprite("Atlas", Folder.Atlas));
         ManaInfoBox.Show(InfoCategory.Garden, Language.GetStr("Object", "Star") + CD.ToString("0") + Auxiliary.GetUnit((int)CD, Unit.Second), 10f, Color.white, ManaReso.LoadSprite("Atlas", Folder.Atlas));
 
 
-        ManaCenter.MiniTimer -= CD;
 
 
-        SpriteRenderer.TweenBacSr();
+        Move2D move2D = new Move2D(transform);
+        move2D.Restrain2D = Restrain2D.Y;
+        Vector3 destination = ManaPlayer.Player.ChildDic["EnterGameTra"].position;
+        move2D.StartMove(destination, 0.5f, false, Curve.EaseOutQuad);
+
+        move2D = new Move2D(transform);
+        move2D.Restrain2D = Restrain2D.X;
+        destination = ManaPlayer.Player.ChildDic["EnterGameTra"].position;
+        move2D.StartMove(destination, 0.5f, false, Curve.Linear);
+
+        DelayCall.Call
+        (
+            0.4f,
+            () =>
+            {
+                SpriteRenderer.TweenBacSr();
+                ManaCenter.MiniTimer -= CD;
+            }
+        );
     }
     }
 }
 }

+ 2 - 2
Assets/Script/Object/Tutorial.cs

@@ -37,14 +37,14 @@ public class Tutorial : Regist, IPointerClickHandler
         PointScene(arrowPos.position, targetPos);
         PointScene(arrowPos.position, targetPos);
     }
     }
 
 
-    public static void HightScreen(Transform arrowPos, Transform target)
+    public static void HightScreen(Transform arrowPos, Transform target, int order = 1)
     {
     {
         target.AddComponent<GraphicRaycaster>();
         target.AddComponent<GraphicRaycaster>();
 
 
         Canvas canvas = target.GetComponent<Canvas>();
         Canvas canvas = target.GetComponent<Canvas>();
 
 
         canvas.overrideSorting = true;
         canvas.overrideSorting = true;
-        canvas.sortingOrder = 1;
+        canvas.sortingOrder = order;
 
 
         MaskLock = true;
         MaskLock = true;
 
 

+ 2 - 1
Assets/Script/SFS/Manager/RobotManager.cs

@@ -18,10 +18,11 @@ public class RobotManager : Regist
         int sfsRoomID = SFSManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom.Id;
         int sfsRoomID = SFSManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom.Id;
         int maxPlayer = SFSManager.GardenSmartFox.PlazaRoomManager.CurrentRoomData.MaxPlayer;
         int maxPlayer = SFSManager.GardenSmartFox.PlazaRoomManager.CurrentRoomData.MaxPlayer;
         int maxRobot = (int) Auxiliary.FmlParse(Robot.MaxRobotAmtFml, "p", maxPlayer.ToString());
         int maxRobot = (int) Auxiliary.FmlParse(Robot.MaxRobotAmtFml, "p", maxPlayer.ToString());
+        //Debug.Log(currentRobotAmt + " " + maxRobot);
         if (currentRobotAmt < maxRobot)
         if (currentRobotAmt < maxRobot)
         {
         {
             Robot robot = new Robot(robotConfigID, randomPos, nickname, dressdatas);
             Robot robot = new Robot(robotConfigID, randomPos, nickname, dressdatas);
-            robot.Connect(sfsRoomID);
+            robot.Connect(sfsRoomID, maxRobot);
             Robots.Add(robot);
             Robots.Add(robot);
         }
         }
     }
     }

+ 5 - 4
Assets/Script/SFS/Object/Robot.cs

@@ -128,13 +128,13 @@ public class Robot
         }
         }
     }
     }
 
 
-    public void Connect(int sfsRoomID)
+    public void Connect(int sfsRoomID, int maxRobotAmt)
     {
     {
         //Debug.LogWarning("Robot connect");
         //Debug.LogWarning("Robot connect");
         SmartFox = new SmartFox();
         SmartFox = new SmartFox();
         SmartFox.AddEventListener(SFSEvent.CONNECTION, OnConnectReturn);
         SmartFox.AddEventListener(SFSEvent.CONNECTION, OnConnectReturn);
         SmartFox.AddEventListener(SFSEvent.CONNECTION_LOST, (evt) => Deactivate(false));
         SmartFox.AddEventListener(SFSEvent.CONNECTION_LOST, (evt) => Deactivate(false));
-        SmartFox.AddEventListener(SFSEvent.LOGIN, evt => { Mark(evt, sfsRoomID); });
+        SmartFox.AddEventListener(SFSEvent.LOGIN, evt => { Mark(evt, sfsRoomID, maxRobotAmt); });
         SmartFox.AddEventListener(SFSEvent.LOGIN_ERROR, (evt) => Deactivate(false));
         SmartFox.AddEventListener(SFSEvent.LOGIN_ERROR, (evt) => Deactivate(false));
         SmartFox.AddEventListener(SFSEvent.LOGOUT, (evt) => Deactivate(false));
         SmartFox.AddEventListener(SFSEvent.LOGOUT, (evt) => Deactivate(false));
         SmartFox.AddEventListener(SFSEvent.EXTENSION_RESPONSE, OnExtensionResponse);
         SmartFox.AddEventListener(SFSEvent.EXTENSION_RESPONSE, OnExtensionResponse);
@@ -155,12 +155,13 @@ public class Robot
         SmartFox.Send(new LoginRequest(userName, ""));
         SmartFox.Send(new LoginRequest(userName, ""));
     }
     }
 
 
-    private void Mark(BaseEvent evt, int sfsRoomID)
+    private void Mark(BaseEvent evt, int sfsRoomID, int maxRobotAmt)
     {
     {
         //Debug.LogWarning("Robot mark");
         //Debug.LogWarning("Robot mark");
         User = (User) evt.Params["user"];
         User = (User) evt.Params["user"];
         SFSObject arg = new SFSObject();
         SFSObject arg = new SFSObject();
         arg.PutInt(Label.CommandID, PlazaRoomReq.MarkAsRobot.GetHashCode());
         arg.PutInt(Label.CommandID, PlazaRoomReq.MarkAsRobot.GetHashCode());
+        arg.PutInt(Label.Data, maxRobotAmt);
         arg.PutInt(Label.RoomID, sfsRoomID);
         arg.PutInt(Label.RoomID, sfsRoomID);
         arg.PutLong(Label.UserID, RobotConfigID);
         arg.PutLong(Label.UserID, RobotConfigID);
         SendRequest(arg);
         SendRequest(arg);
@@ -256,7 +257,7 @@ public class Robot
             return false;
             return false;
         }
         }
 
 
-        if (!SFSManager.GardenSmartFox.PlazaRoomManager.InPlazaRoom)
+        if (!SFSManager.GardenSmartFox.PlazaRoomManager.JoinedPlazaRoom)
         {
         {
             return false;
             return false;
         }
         }

+ 9 - 2
Assets/Script/SFS/SFSEvent/PlazaRoomEvent.cs

@@ -118,9 +118,16 @@ public class PlazaRoomEvent
         sfsObject.PutInt(InfoLabel.SenderID.GetHashString(), senderID);
         sfsObject.PutInt(InfoLabel.SenderID.GetHashString(), senderID);
         sfsObject.PutUtfString(InfoLabel.Destination.GetHashString(), destination.VectorToString());
         sfsObject.PutUtfString(InfoLabel.Destination.GetHashString(), destination.VectorToString());
 
 
-        SFSObject parameter = WrapInfoRequest(SFSEventManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom.Id, -1, sfsObject);
+        if (SFSEventManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom != null)
+        {
+            SFSObject parameter = WrapInfoRequest(SFSEventManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom.Id, -1, sfsObject);
 
 
-        SFSEventManager.GardenSmartFox.AddRequest(parameter, RequestType.BatchAndOverride, RequestName.SynchronizePosition.ToString(), BatchOption.TryNot);
+            SFSEventManager.GardenSmartFox.AddRequest(parameter, RequestType.BatchAndOverride, RequestName.SynchronizePosition.ToString(), BatchOption.TryNot);
+        }
+        else
+        {
+            Debug.LogWarning("null");
+        }
     }
     }
 
 
     public void SendSynchronizeClose(List<int> closeIDs)
     public void SendSynchronizeClose(List<int> closeIDs)

+ 49 - 4
Assets/Script/Tool/Anim/Move2D.cs

@@ -4,6 +4,13 @@ using UnityEngine.Events;
 using System;
 using System;
 using System.Collections;
 using System.Collections;
 
 
+public enum Restrain2D
+{
+    None,
+    X,
+    Y,
+}
+
 public class Move2D : MoveRoot
 public class Move2D : MoveRoot
 {
 {
     #region 变量
     #region 变量
@@ -47,14 +54,32 @@ public class Move2D : MoveRoot
             {
             {
                 if (InDestination_)
                 if (InDestination_)
                 {
                 {
-                    Target.localPosition = Destination;
+                    Vector3 position = Destination;
+                    if (Restrain2D == Restrain2D.X)
+                    {
+                        position.x = Target.localPosition.x;
+                    }
+                    else if (Restrain2D == Restrain2D.Y)
+                    {
+                        position.y = Target.localPosition.y;
+                    }
+                    Target.localPosition = position;
                 }
                 }
             }
             }
             else
             else
             {
             {
                 if (InDestination_)
                 if (InDestination_)
                 {
                 {
-                    Target.position = Destination;
+                    Vector3 position = Destination;
+                    if (Restrain2D == Restrain2D.X)
+                    {
+                        position.x = Target.position.x;
+                    }
+                    else if (Restrain2D == Restrain2D.Y)
+                    {
+                        position.y = Target.position.y;
+                    }
+                    Target.position = position;
                 }
                 }
             }
             }
         }
         }
@@ -67,6 +92,7 @@ public class Move2D : MoveRoot
     public Vector3 Origin;
     public Vector3 Origin;
     public Vector3 Destination;
     public Vector3 Destination;
     public Transform Target;
     public Transform Target;
+    public Restrain2D Restrain2D = Restrain2D.None;
 
 
     public CurveFunctionV Func;
     public CurveFunctionV Func;
 
 
@@ -106,11 +132,29 @@ public class Move2D : MoveRoot
         {
         {
             if (Local)
             if (Local)
             {
             {
-                Target.localPosition = Func(Timer, Duration, Origin, Delta);
+                Vector3 position = Func(Timer, Duration, Origin, Delta);
+                if (Restrain2D == Restrain2D.X)
+                {
+                    position.x = Target.localPosition.x;
+                }
+                else if (Restrain2D == Restrain2D.Y)
+                {
+                    position.y = Target.localPosition.y;
+                }
+                Target.localPosition = position;
             }
             }
             else
             else
             {
             {
-                Target.position = Func(Timer, Duration, Origin, Delta);
+                Vector3 position = Func(Timer, Duration, Origin, Delta);
+                if (Restrain2D == Restrain2D.X)
+                {
+                    position.x = Target.position.x;
+                }
+                else if (Restrain2D == Restrain2D.Y)
+                {
+                    position.y = Target.position.y;
+                }
+                Target.position = position;
             }
             }
 
 
             return false;
             return false;
@@ -129,6 +173,7 @@ public class Move2D : MoveRoot
         InDestination = false;
         InDestination = false;
         destination.z = Target.position.z;
         destination.z = Target.position.z;
 
 
+
         Local = local;
         Local = local;
 
 
         if (Local)
         if (Local)

+ 17 - 5
Assets/Script/Tool/Auxiliary.cs

@@ -135,15 +135,27 @@ public class Auxiliary : Regist
     {
     {
         #region 调试
         #region 调试
 
 
-        //if (Input.GetKeyDown(KeyCode.Escape))
-        //{
-
-        //}
+        if (Input.GetKeyDown(KeyCode.Escape))
+        {
+            SFSManager.GardenSmartFox.SmartFox.Disconnect();
+            RobotManager.DeactivateAllRobots(false);
+        }
 
 
 
 
         if (Input.GetKeyDown(KeyCode.Space))
         if (Input.GetKeyDown(KeyCode.Space))
         {
         {
-            ManaCenter.Level = 28;
+            //ManaCenter.SaveTimer = 0;
+
+            //URLRequestData urlData = new URLRequestData();
+            
+            //urlData.Add("u", "1704189794672324513");
+            //urlData.Add("v", "10");
+
+            //ManaData.SavePlayerConfig();
+
+            //urlData.Add("l", ManaData.PlayerDoc.OuterXml);
+
+            //URLRequest.CreateURLRequest(false, ManaServer.NewBaseURL + "/user/save", urlData, (data => Debug.Log(data.ToJson())), URLRequest.Method.POST);
             //RobotManager.AddRobot(SFSManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom.Id, 19, position, PlayerDirection.Left);
             //RobotManager.AddRobot(SFSManager.GardenSmartFox.PlazaRoomManager.CurrentPlazaRoom.Id, 19, position, PlayerDirection.Left);
             //Resources.UnloadAsset(ManaReso.Get("U_LoadingPanel"));
             //Resources.UnloadAsset(ManaReso.Get("U_LoadingPanel"));
             //foreach (var VARIABLE in ChestMge.PlazaRoomChests)
             //foreach (var VARIABLE in ChestMge.PlazaRoomChests)

+ 40 - 0
Assets/Script/Tool/UI/ScrollHelper.cs

@@ -0,0 +1,40 @@
+using System.Collections;
+using System.Collections.Generic;
+
+using UnityEngine;
+using UnityEngine.UI;
+
+public static class ScrollHelper
+{
+    private static float ScaleFactor;
+    private static ScrollRect ScrollRect;
+    private static LayoutGroup LayoutGroup;
+    private static RectTransform RectTransform;
+
+    public static void Locate(this ScrollRect scrollRect, float verticalPos, float horizontalPos)
+    {
+        Vector2 viewSize = scrollRect.viewport.rect.size;
+        Vector2 contentSize = scrollRect.content.rect.size;
+        if (viewSize.x >= contentSize.x && viewSize.y >= contentSize.y)
+        {
+            return;
+        }
+    }
+
+    private static void Init(ScrollRect scrollRect)
+    {
+        ScaleFactor = scrollRect.GetComponentInChildren<Graphic>().canvas.scaleFactor;
+        LayoutGroup = scrollRect.content.GetComponent<LayoutGroup>();
+        RectTransform = scrollRect.GetComponent<RectTransform>();
+    }
+
+    private static void CalVertical(float normalizedPos)
+    {
+
+    }
+
+    private static void CalHorizontal()
+    {
+
+    }
+}

+ 12 - 0
Assets/Script/Tool/UI/ScrollHelper.cs.meta

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

+ 23 - 11
第四期.txt

@@ -1,11 +1,4 @@
-机器人最大个数有Bug
-
-开启公告
-
-过一段时间数据库会关闭的问题
-
-优化
-
+//开启公告
 
 
 //关闭ManaDebug 开启CatchException
 //关闭ManaDebug 开启CatchException
 
 
@@ -22,7 +15,26 @@
 IOS设置Team
 IOS设置Team
 
 
 
 
-ScrollRect想要把最后一个移动到最上面的情况(花园里的成就)
+ScrollRect定位
+{
+  Unrestrain
+  {
+    直接移动
+  }
+  Restrain
+  {
+    当Content的Size小于Viewport的Size时不用移动
+    如果有LayoutGroup需要考虑spacing和padding
+    要考虑到CanvasScaler
+    移动时计算Pivot到指定点的距离d1、content可移动的距离d2
+    {
+      如果d1<=d2 content移动d1
+      如果d1>d2 content移动d2
+    }
+  }
+}
+
+LTween
 {
 {
-  根据Rect和Child的Rect计算可容纳的数量
-} 
+  运动-加速度功能
+}