Browse Source

增加侧边栏引导

LiuQilin 7 years ago
parent
commit
f4ca2521b1

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

@@ -262,6 +262,7 @@ MonoBehaviour:
   - {fileID: 21300278, guid: 8d523bac11c2f3742ab88a2cbd71bf39, type: 3}
   - {fileID: 1178346060137818, guid: e2d62becad3f170428db59673f313354, type: 2}
   - {fileID: 1422722603004606, guid: f66999d8c3be4ff46b7dbde0417af018, type: 2}
+  - {fileID: 1405543926191242, guid: c4b5d8c946975864492b168f89e68abc, type: 2}
   ConfigList:
   - {fileID: 4900000, guid: f039d2181a3e9ea418ff5f211730b175, 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: 222839404513105250}
   - component: {fileID: 114830412854372052}
+  - component: {fileID: 225766416945213794}
   m_Layer: 5
   m_Name: F_Manage0
   m_TagString: ManagePanel
@@ -906,6 +907,41 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   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
 GameObject:
   m_ObjectHideFlags: 1
@@ -1687,6 +1723,24 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   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
 GameObject:
   m_ObjectHideFlags: 1
@@ -1718,6 +1772,24 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   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
 GameObject:
   m_ObjectHideFlags: 1
@@ -3270,6 +3342,33 @@ MonoBehaviour:
   m_FillAmount: 1
   m_FillClockwise: 1
   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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -4666,6 +4765,28 @@ MonoBehaviour:
   m_FillAmount: 1
   m_FillClockwise: 1
   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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -6343,6 +6464,19 @@ MonoBehaviour:
   m_ChildForceExpandHeight: 1
   m_ChildControlWidth: 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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -6653,6 +6787,39 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -7796,6 +7963,19 @@ MonoBehaviour:
       m_Calls: []
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -7918,6 +8098,33 @@ MonoBehaviour:
       m_Calls: []
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -8588,6 +8795,47 @@ MonoBehaviour:
   m_FillAmount: 0
   m_FillClockwise: 0
   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
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -9646,6 +9894,12 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   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
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -9754,6 +10008,12 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   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
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -9844,6 +10104,12 @@ CanvasRenderer:
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   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
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -10755,6 +11021,9 @@ RectTransform:
   - {fileID: 224607867221133714}
   - {fileID: 224508586722394958}
   - {fileID: 224139494950361932}
+  - {fileID: 224886103940314876}
+  - {fileID: 224301049649300382}
+  - {fileID: 224724741424412646}
   m_Father: {fileID: 224637421988288774}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -11274,6 +11543,25 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: -8}
   m_SizeDelta: {x: 0, y: -15.8}
   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
 RectTransform:
   m_ObjectHideFlags: 1
@@ -12743,6 +13031,24 @@ RectTransform:
   m_AnchoredPosition: {x: 245, y: 0}
   m_SizeDelta: {x: 171, y: 57}
   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
 RectTransform:
   m_ObjectHideFlags: 1
@@ -13399,6 +13705,24 @@ RectTransform:
   m_AnchoredPosition: {x: 0.0015106201, y: 0.0000038146973}
   m_SizeDelta: {x: 0, y: 0}
   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
 RectTransform:
   m_ObjectHideFlags: 1
@@ -13453,6 +13777,24 @@ RectTransform:
   m_AnchoredPosition: {x: -69.8, y: -34}
   m_SizeDelta: {x: 100, y: 100}
   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
 RectTransform:
   m_ObjectHideFlags: 1
@@ -13773,6 +14115,17 @@ RectTransform:
   m_AnchoredPosition: {x: 300, y: -380}
   m_SizeDelta: {x: 375, y: 375}
   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
 CanvasGroup:
   m_ObjectHideFlags: 1
@@ -13839,6 +14192,17 @@ CanvasGroup:
   m_Interactable: 1
   m_BlocksRaycasts: 1
   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
 CanvasGroup:
   m_ObjectHideFlags: 1

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

@@ -13,6 +13,7 @@
     <F_PersonBtn1 desc=""><![CDATA[每分钟有这么多人来参观花园]]></F_PersonBtn1>
     <F_CoinPersonBtn0 desc=""><![CDATA[门票]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn1 desc=""><![CDATA[每位来访者参观花费]]></F_CoinPersonBtn1>
+    <F_Tip desc=""><![CDATA[这是一款健康游戏,不在线也可以持续获得金币。如果觉得暂时没什么可做的,可以过一段时间再来玩]]></F_Tip>
     <Fe_BtnLab0 desc=""><![CDATA[提前解锁]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[解锁]]></Fe_BtnLab1>
     <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_CoinPersonBtn0 desc=""><![CDATA[門票]]></F_CoinPersonBtn0>
     <F_CoinPersonBtn1 desc=""><![CDATA[每位來訪者參觀花費]]></F_CoinPersonBtn1>
+    <F_Tip desc=""><![CDATA[這是一款健康遊戲,不在線上也可以持續獲得金幣。如果覺得暫時沒什麼可做的,可以過一段時間再來玩。]]></F_Tip>
     <Fe_BtnLab0 desc=""><![CDATA[提前解鎖]]></Fe_BtnLab0>
     <Fe_BtnLab1 desc=""><![CDATA[解鎖]]></Fe_BtnLab1>
     <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_CoinPersonBtn0 desc=""><![CDATA[Ticket]]></F_CoinPersonBtn0>
     <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_BtnLab1 desc=""><![CDATA[Unlock]]></Fe_BtnLab1>
     <Fe_BtnLab2 desc=""><![CDATA[Upgrade]]></Fe_BtnLab2>

BIN
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)
     {
         float scaleFactor = scrollRect.GetComponent<Image>().canvas.scaleFactor;
-
+        
         LayoutGroup layoutGroup = scrollRect.content.GetComponent<LayoutGroup>();
 
         RectTransform tra1 = scrollRect.GetComponent<RectTransform>();

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

@@ -605,4 +605,43 @@ public class ManaAchieve : Regist
             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.Get<CanvasGroup>("T_NickNameBK").interactable = true;
 
-        Bubble.Show(null, Language.GetStr("UI", "T_RepeatName"));
+        Bubble.Show(null, str);
     }
 
     public static void ResetSucceed()

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

@@ -68,6 +68,7 @@ public enum ObjType
     Music,
 
     Star,
+    FlyGold,
     ADChest,
     PlazaRoomChest,
     DropGold,
@@ -590,13 +591,14 @@ public class ManaReso : Regist
 
         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);
 
         Star star = tra.GetComponent<Star>();
 
         tra.parent = slot.transform;
+        tra.SetLZ(-0.1f + Random.Range(-0.0001f, -0.001f));
 
         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();
 
@@ -199,9 +199,13 @@ public class ManaServer : Regist
                 {
                     succeedCallback.Invoke();
                 }
+                else if (data.Contains("Could not resolve host"))
+                {
+                    failCallback.Invoke(Language.GetStr("UI", "Fg_Lab3"));
+                }
                 else
                 {
-                    failCallback.Invoke();
+                    failCallback.Invoke(Language.GetStr("UI", "T_RepeatName"));
                 }
             },
             URLRequest.Method.POST
@@ -957,7 +961,7 @@ public class ManaServer : Regist
         ManaCenter.SaveTimer = 0;
 
         URLRequestData urlData = new URLRequestData();
-        
+
         urlData.Add("u", SerialNumber);
         urlData.Add("v", ReplayVersion);
 

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

@@ -256,15 +256,24 @@ public class ManaTutorial : Regist
         EnterA9();
     }
 
+    public static void EndA9()
+    {
+        Tutorial.HightDisable(0, false);
+    }
+
     public static void EndA()
     {
         StaticsManager.GetInstance().TutoComplete("A");
 
         TutorialA = false;
 
+        ManaAudio.PlayClip(Clip.CloseClip);
+
         ManaAchieve.UpdateHint();
 
         Tutorial.HightDisable();
+        ManaReso.Get("F_TipBK").TweenBacCG();
+        ManaReso.SetActive("F_TipBtn", false);
 
         ManaReso.SetActive("Tutorial", false);
         ManaReso.SetActive("N_Tutorial", false);
@@ -767,11 +776,32 @@ public class ManaTutorial : Regist
             "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()
     {

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

@@ -327,9 +327,7 @@ public class ManaUI : Regist
             "C_Achieve",
             () =>
             {
-                ManaReso.Get("M_Achieve0").TweenForVec();
-
-                ManaAudio.PlayClip(Clip.BtnClip);
+                ManaAchieve.OpenAchievePanel();
             }
         );
 
@@ -346,9 +344,7 @@ public class ManaUI : Regist
             "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_BtnLab"), new LanStr("UI", "Fg_BtnLab"));
 
+        ManaReso.Get("F_TipBK").CreateTweenCG(0, 1, 0.25f, false, true, Curve.EaseOutQuad);
+
         #region F_Close
 
         ManaReso.AddButtonEvent
@@ -3421,6 +3419,96 @@ public class ManaUI : Regist
         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()
     {
         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 bool Praised;
+    //public bool Praised;
+
     public JsonData JsonData;
+    public XmlDocument Document;
+
+    public VisitData(JsonData jsonData, XmlDocument document)
+    {
+        JsonData = jsonData;
+        Document = document;
+    }
 }
 
 public class ManaVisit : Regist
@@ -62,7 +70,6 @@ public class ManaVisit : Regist
     public static bool Complete;
     public static bool LoadComplete;
     public static bool TweenComplete;
-    public static string XmlStr;
 
     public static int Slot;
     public static int Level;
@@ -833,21 +840,6 @@ public class ManaVisit : Regist
 
     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)
         {
             ManaServer.Other
@@ -855,43 +847,39 @@ public class ManaVisit : Regist
                 info,
                 data =>
                 {
-                    //Debug.LogWarning(data.ToJson());
                     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)
         {
-            //Debug.Log($"新存档{UnusedDataList.Count}    已用存档{UsedDataList.Count}");
-
             if (UnusedDataList.Count > 0)
             {
-                EnterVisiteeGarden(UnusedDataList[0].JsonData);
+                EnterVisiteeGarden(UnusedDataList[0]);
 
                 UsedDataList.Add(UnusedDataList[0]);
                 UnusedDataList.RemoveAt(0);
             }
             else if (UsedDataList.Count > 0)
             {
-                EnterVisiteeGarden(UsedDataList.Random()[0].JsonData);
+                EnterVisiteeGarden(UsedDataList.Random()[0]);
             }
             else
             {
                 ShowFailPanel();
             }
         }
-        //else
-        //{
-        //    LoadComplete = true;
-
-        //    XmlStr = CreateArchive();
-
-        //    Document = new XmlDocument();
-        //    Document.LoadXml(XmlStr);
-
-        //    EnterVisiteeGarden();
-        //}
     }
 
     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)
     {
-        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;
-        //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();
 

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

@@ -574,24 +574,51 @@ public class Flower : Regist, IPointerClickHandler
         PlayFlashLight();
 
         int coin;
-
         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)));
-
-            ManaCenter.AddCoin(coin, StaticsManager.ItemID.获得金币, StaticsManager.ConsumeModule.ClickFlower);
         }
         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++;
         }
 
+        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);
 
         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));
 
-        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);
     }
 
-    public static void HightScreen(Transform arrowPos, Transform target)
+    public static void HightScreen(Transform arrowPos, Transform target, int order = 1)
     {
         target.AddComponent<GraphicRaycaster>();
 
         Canvas canvas = target.GetComponent<Canvas>();
 
         canvas.overrideSorting = true;
-        canvas.sortingOrder = 1;
+        canvas.sortingOrder = order;
 
         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 maxPlayer = SFSManager.GardenSmartFox.PlazaRoomManager.CurrentRoomData.MaxPlayer;
         int maxRobot = (int) Auxiliary.FmlParse(Robot.MaxRobotAmtFml, "p", maxPlayer.ToString());
+        //Debug.Log(currentRobotAmt + " " + maxRobot);
         if (currentRobotAmt < maxRobot)
         {
             Robot robot = new Robot(robotConfigID, randomPos, nickname, dressdatas);
-            robot.Connect(sfsRoomID);
+            robot.Connect(sfsRoomID, maxRobot);
             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");
         SmartFox = new SmartFox();
         SmartFox.AddEventListener(SFSEvent.CONNECTION, OnConnectReturn);
         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.LOGOUT, (evt) => Deactivate(false));
         SmartFox.AddEventListener(SFSEvent.EXTENSION_RESPONSE, OnExtensionResponse);
@@ -155,12 +155,13 @@ public class Robot
         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");
         User = (User) evt.Params["user"];
         SFSObject arg = new SFSObject();
         arg.PutInt(Label.CommandID, PlazaRoomReq.MarkAsRobot.GetHashCode());
+        arg.PutInt(Label.Data, maxRobotAmt);
         arg.PutInt(Label.RoomID, sfsRoomID);
         arg.PutLong(Label.UserID, RobotConfigID);
         SendRequest(arg);
@@ -256,7 +257,7 @@ public class Robot
             return false;
         }
 
-        if (!SFSManager.GardenSmartFox.PlazaRoomManager.InPlazaRoom)
+        if (!SFSManager.GardenSmartFox.PlazaRoomManager.JoinedPlazaRoom)
         {
             return false;
         }

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

@@ -118,9 +118,16 @@ public class PlazaRoomEvent
         sfsObject.PutInt(InfoLabel.SenderID.GetHashString(), senderID);
         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)

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

@@ -4,6 +4,13 @@ using UnityEngine.Events;
 using System;
 using System.Collections;
 
+public enum Restrain2D
+{
+    None,
+    X,
+    Y,
+}
+
 public class Move2D : MoveRoot
 {
     #region 变量
@@ -47,14 +54,32 @@ public class Move2D : MoveRoot
             {
                 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
             {
                 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 Destination;
     public Transform Target;
+    public Restrain2D Restrain2D = Restrain2D.None;
 
     public CurveFunctionV Func;
 
@@ -106,11 +132,29 @@ public class Move2D : MoveRoot
         {
             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
             {
-                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;
@@ -129,6 +173,7 @@ public class Move2D : MoveRoot
         InDestination = false;
         destination.z = Target.position.z;
 
+
         Local = local;
 
         if (Local)

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

@@ -135,15 +135,27 @@ public class Auxiliary : Regist
     {
         #region 调试
 
-        //if (Input.GetKeyDown(KeyCode.Escape))
-        //{
-
-        //}
+        if (Input.GetKeyDown(KeyCode.Escape))
+        {
+            SFSManager.GardenSmartFox.SmartFox.Disconnect();
+            RobotManager.DeactivateAllRobots(false);
+        }
 
 
         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);
             //Resources.UnloadAsset(ManaReso.Get("U_LoadingPanel"));
             //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
 
@@ -22,7 +15,26 @@
 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计算可容纳的数量
-} 
+  运动-加速度功能
+}