关卡界面改用PageView组件

This commit is contained in:
yangjing 2022-02-13 17:36:12 +08:00
parent 881f4e326c
commit 28bebb61c5
9 changed files with 596 additions and 255 deletions

View File

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: e62078a75cb7c480b87077644e239944, type: 3}
m_Name: GameConfig
m_EditorClassIdentifier:
LevelSort: 000000000100000002000000
LevelSort: 000000000100000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000
Levels:
- LevelName: "1.\u5FEB\u53BB\u7761\u89C9"
LevelColorCode: '#039AC0'

View File

@ -328,7 +328,7 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 7274106814343902015}
- {fileID: 1890007152666068253}
m_Father: {fileID: 7274106815721414707}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -571,7 +571,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: -140, y: 200}
m_AnchoredPosition: {x: -140, y: 130}
m_SizeDelta: {x: 160, y: 67}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1549853548048420528
@ -763,7 +763,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 140, y: 200}
m_AnchoredPosition: {x: 140, y: 130}
m_SizeDelta: {x: 177, y: 67}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1549853548561325178
@ -875,12 +875,14 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1549853548948624558}
m_Father: {fileID: 7274106815726529936}
m_RootOrder: 1
- {fileID: 1890007151263563443}
- {fileID: 1890007151171864231}
m_Father: {fileID: 9135682575492832201}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -120.00001}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 150, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7274106815003640832
@ -902,6 +904,8 @@ MonoBehaviour:
mGobDone: {fileID: 1549853547994234811}
mGobComplete: {fileID: 7274106816053439044}
mImgProgress: {fileID: 7274106814941670833}
mGobEmpty: {fileID: 1890007151263563442}
mGobComingSoon: {fileID: 1890007151171864230}
--- !u!1 &1549853548948624559
GameObject:
m_ObjectHideFlags: 0
@ -1161,7 +1165,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1549853547933002449}
- {fileID: 7274106815726529936}
- {fileID: 9135682575492832201}
- {fileID: 1549853548048420531}
- {fileID: 1549853548561325181}
m_Father: {fileID: 0}
@ -1186,7 +1190,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
mBtnBack: {fileID: 1549853548048420530}
mBtnBackToMain: {fileID: 1549853548561325180}
mLvList: {fileID: 1357238547523903181}
mLvPage: {fileID: 9135682575477233262}
--- !u!114 &923398011
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1200,6 +1204,230 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
OffsetY: 65
--- !u!1 &1890007151171864230
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1890007151171864231}
- component: {fileID: 1890007151171864249}
- component: {fileID: 1890007151171864248}
m_Layer: 5
m_Name: Gob_ComingSoon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1890007151171864231
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007151171864230}
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: 1549853548759154686}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 5}
m_SizeDelta: {x: 192, y: 204}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1890007151171864249
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007151171864230}
m_CullTransparentMesh: 0
--- !u!114 &1890007151171864248
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007151171864230}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 5fd43a3c95fd448608cf468a1daa8805, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1890007151263563442
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1890007151263563443}
- component: {fileID: 1890007151263563445}
- component: {fileID: 1890007151263563444}
m_Layer: 5
m_Name: Gob_Empty
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1890007151263563443
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007151263563442}
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: 1549853548759154686}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 5}
m_SizeDelta: {x: 128, y: 128}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1890007151263563445
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007151263563442}
m_CullTransparentMesh: 0
--- !u!114 &1890007151263563444
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007151263563442}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 47700ae7ba579480284664ebfcbaa8b1, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1890007152666068252
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1890007152666068253}
- component: {fileID: 1890007152666068255}
- component: {fileID: 1890007152666068254}
m_Layer: 5
m_Name: Ctn_Page
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1890007152666068253
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007152666068252}
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: 1549853547905349718}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: -0.000091552734, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1890007152666068255
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007152666068252}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 3
m_Spacing: 0
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
--- !u!114 &1890007152666068254
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1890007152666068252}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &7274106814010849298
GameObject:
m_ObjectHideFlags: 0
@ -1280,81 +1508,6 @@ MonoBehaviour:
mImgOnes: {fileID: 1549853547539696657}
mImgTens: {fileID: 1549853549197227370}
mImgHundreds: {fileID: 1549853548418705245}
--- !u!1 &7274106814343902014
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7274106814343902015}
- component: {fileID: 7274106814343901985}
- component: {fileID: 7274106814343901984}
m_Layer: 5
m_Name: Ctn_Levels
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7274106814343902015
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7274106814343902014}
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: 1549853547905349718}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &7274106814343901985
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7274106814343902014}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!114 &7274106814343901984
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7274106814343902014}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 30
m_Bottom: 30
m_ChildAlignment: 4
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 150, y: 150}
m_Spacing: {x: 0, y: 20}
m_Constraint: 0
m_ConstraintCount: 4
--- !u!1 &7274106814941670799
GameObject:
m_ObjectHideFlags: 0
@ -1441,6 +1594,7 @@ GameObject:
- component: {fileID: 7274106815721414710}
- component: {fileID: 7274106815721414709}
- component: {fileID: 7274106815721414708}
- component: {fileID: 9135682575477233262}
m_Layer: 5
m_Name: ScrollView
m_TagString: Untagged
@ -1460,13 +1614,13 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1549853547905349718}
m_Father: {fileID: 7274106815726529936}
m_Father: {fileID: 9135682575492832201}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0.2999878}
m_SizeDelta: {x: 0, y: -0.6000061}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7274106815721414710
CanvasRenderer:
@ -1517,9 +1671,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 7274106814343902015}
m_Horizontal: 0
m_Vertical: 1
m_Content: {fileID: 1890007152666068253}
m_Horizontal: 1
m_Vertical: 0
m_MovementType: 1
m_Elasticity: 0.1
m_Inertia: 1
@ -1535,58 +1689,25 @@ MonoBehaviour:
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &7274106815726529647
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7274106815726529936}
- component: {fileID: 1357238547523903181}
m_Layer: 5
m_Name: LevelList
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7274106815726529936
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7274106815726529647}
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: 7274106815721414707}
- {fileID: 1549853548759154686}
m_Father: {fileID: 1549853549434864437}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 120}
m_SizeDelta: {x: 0, y: -400}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1357238547523903181
--- !u!114 &9135682575477233262
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7274106815726529647}
m_GameObject: {fileID: 7274106815721414706}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a46c284f255c46569f976045d5ccae9, type: 3}
m_Script: {fileID: 11500000, guid: 6f57cac8c398047309e9dd841dbeca36, type: 3}
m_Name:
m_EditorClassIdentifier:
CountPerPage: 20
SlideSpeed: 4
sensitivity: 0.3
mCtnPage: {fileID: 1890007152666068253}
mTplPage: {fileID: 9135682575315895655}
mTplCell: {fileID: 1549853548759154687}
mCtnCells: {fileID: 7274106814343902015}
posList: []
--- !u!1 &7274106816053439044
GameObject:
m_ObjectHideFlags: 0
@ -1661,3 +1782,101 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &9135682575315895655
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9135682575315895654}
- component: {fileID: 9135682575315895673}
m_Layer: 5
m_Name: Tpl_Page
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &9135682575315895654
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9135682575315895655}
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: 9135682575492832201}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 640, y: 900}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &9135682575315895673
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9135682575315895655}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 30
m_Bottom: 0
m_ChildAlignment: 1
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 150, y: 150}
m_Spacing: {x: 0, y: 20}
m_Constraint: 1
m_ConstraintCount: 4
--- !u!1 &9135682575492831798
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9135682575492832201}
m_Layer: 5
m_Name: LevelPage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9135682575492832201
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9135682575492831798}
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: 7274106815721414707}
- {fileID: 9135682575315895654}
- {fileID: 1549853548759154686}
m_Father: {fileID: 1549853549434864437}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 100}
m_SizeDelta: {x: 640, y: 900}
m_Pivot: {x: 0.5, y: 0.5}

View File

@ -121,7 +121,62 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &64581553
--- !u!1 &1404456744
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1404456745}
- component: {fileID: 1404456746}
m_Layer: 0
m_Name: MainLogic
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1404456745
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404456744}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1404456746
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404456744}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eea13a3abf319425394d0eebefd89201, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &776958736012266133 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6938199816757883051, guid: 554b6baf1c0144af492b0a2123d42fd1,
type: 3}
m_PrefabInstance: {fileID: 2617655799926167754}
m_PrefabAsset: {fileID: 0}
--- !u!224 &1549853549371387012 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 1549853549434864437, guid: 30cc95837c5a74b1ca4757bb85a4abfa,
type: 3}
m_PrefabInstance: {fileID: 1890007151875725800}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &1890007151875725800
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
@ -243,73 +298,8 @@ PrefabInstance:
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7274106814343902015, guid: 30cc95837c5a74b1ca4757bb85a4abfa,
type: 3}
propertyPath: m_SizeDelta.y
value: 40
objectReference: {fileID: 0}
- target: {fileID: 7274106815721414707, guid: 30cc95837c5a74b1ca4757bb85a4abfa,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.29992676
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 30cc95837c5a74b1ca4757bb85a4abfa, type: 3}
--- !u!224 &64581554 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 1549853549434864437, guid: 30cc95837c5a74b1ca4757bb85a4abfa,
type: 3}
m_PrefabInstance: {fileID: 64581553}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1404456744
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1404456745}
- component: {fileID: 1404456746}
m_Layer: 0
m_Name: MainLogic
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1404456745
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404456744}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1404456746
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1404456744}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eea13a3abf319425394d0eebefd89201, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &776958736012266133 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6938199816757883051, guid: 554b6baf1c0144af492b0a2123d42fd1,
type: 3}
m_PrefabInstance: {fileID: 2617655799926167754}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2617655799926167754
PrefabInstance:
m_ObjectHideFlags: 0
@ -575,7 +565,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 776958736012266133}
- {fileID: 64581554}
- {fileID: 1549853549371387012}
m_Father: {fileID: 3333527423029586801}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -4,7 +4,7 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LevelCell : UIListCell
public class LevelCell : MonoBehaviour
{
public Action<int> DelClick;
@ -16,15 +16,21 @@ public class LevelCell : UIListCell
[SerializeField] GameObject mGobComplete;
[SerializeField] Image mImgProgress;
private int mLevelID;
[SerializeField] GameObject mGobEmpty;
[SerializeField] GameObject mGobComingSoon;
private int mIndex;
private int mLevelID;
private void Awake()
{
UIUtils.BindBtn(mBtnBg, OnClick);
}
public void Init()
public void Init(int pIndex)
{
mIndex = pIndex;
mLevelID = GameConfig.Instance.LevelSort[mIndex];
LevelData tLvData = GameConfig.Instance.GetLevelData(mLevelID);
@ -42,6 +48,24 @@ public class LevelCell : UIListCell
mGobComplete.SetActive(tIsAllEndingsDone);
mImgProgress.fillAmount = (float)tUnlockedEndingCount / tLvData.Endings.Count;
mBtnBg.gameObject.SetActive(true);
mGobEmpty.gameObject.SetActive(false);
mGobComingSoon.gameObject.SetActive(false);
}
public void SetEmpty()
{
mBtnBg.gameObject.SetActive(false);
mGobEmpty.gameObject.SetActive(true);
mGobComingSoon.gameObject.SetActive(false);
}
public void SetComingSoon()
{
mBtnBg.gameObject.SetActive(false);
mGobEmpty.gameObject.SetActive(false);
mGobComingSoon.gameObject.SetActive(true);
}
private void OnClick()

View File

@ -1,28 +0,0 @@
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
public class LevelList : UIListView<LevelCell>
{
public Action<int> DelClickLevel;
public override int Count
{
get
{
return PlayerData.Instance.UnlockedLevel;
}
}
protected override void ConfigCell(LevelCell pCell)
{
pCell.Init();
pCell.DelClick = OnClickLevel;
}
private void OnClickLevel(int pLevelIndex)
{
DelClickLevel?.Invoke(pLevelIndex);
}
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LevelPage : PageView
{
public Action<int> DelClickLevel;
public override int Count
{
get
{
int tCount = GameConfig.Instance.LevelSort.Count + 1;
return tCount;
}
}
protected override void ConfigCell(GameObject pCellGob, int pIndex)
{
LevelCell tCell = pCellGob.GetComponent<LevelCell>();
if (pIndex < PlayerData.Instance.UnlockedLevel)
{
tCell.Init(pIndex);
tCell.DelClick = OnClickLevel;
}
else
{
if (pIndex < Count - 1)
{
tCell.SetEmpty();
}
else
{
tCell.SetComingSoon();
}
}
}
private void OnClickLevel(int pLevelIndex)
{
DelClickLevel?.Invoke(pLevelIndex);
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2a46c284f255c46569f976045d5ccae9
guid: 6f57cac8c398047309e9dd841dbeca36
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -5,18 +5,23 @@ using System.Collections.Generic;
using UnityEngine.EventSystems;
using System;
public class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandler
public abstract class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandler
{
public int PageCount;
public int CountPerPage;
public float SlideSpeed = 4; //滑动速度
public float sensitivity = 0.3f;
[SerializeField] Transform mCtnPage;
[SerializeField] GameObject mTplPage;
[SerializeField] GameObject mTplCell;
public Action<int> OnPageChanged;
ScrollRect rect; //滑动组件
private float targethorizontal = 0; //滑动的起始坐标
private bool isDrag = false; //是否拖拽结束
List<float> posList = new List<float>();//求出每页的临界角页索引从0开始
[SerializeField] List<float> posList = new List<float>();//求出每页的临界角页索引从0开始
private int currentPageIndex = -1;
private bool stopMove = true;
@ -24,18 +29,13 @@ public class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandler
private float startDragHorizontal;
protected List<GameObject> mCellList;
protected List<Transform> mPageList;
#region page scroll
void Awake()
{
rect = transform.GetComponent<ScrollRect>();
int tSplitCount = Mathf.Max(1, PageCount);
float tDelta = tSplitCount > 1 ? (1f / (tSplitCount - 1)) : 1;
for (int i = 0; i < tSplitCount; i++)
{
posList.Add(tDelta * i);
}
}
void Update()
@ -50,16 +50,6 @@ public class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandler
}
}
public void PageFix(int index)
{
PageTo(index, false);
}
public void PageScroll(int index)
{
PageTo(index);
}
public void PageTo(int index, bool pWithScroll = true)
{
if (index >= 0 && index < posList.Count)
@ -115,4 +105,105 @@ public class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandler
}
PageTo(index);
}
#endregion
#region config cell
public abstract int Count
{
get;
}
public int PageCount => mPageCount;
private int mPageCount;
protected abstract void ConfigCell(GameObject pCellGob, int pIndex);
public void LoadData()
{
mPageCount = Count / CountPerPage + ((Count % CountPerPage) > 0 ? 1 : 0);
int tSplitCount = Mathf.Max(1, mPageCount);
float tDelta = tSplitCount > 1 ? (1f / (tSplitCount - 1)) : 1;
for (int i = 0; i < tSplitCount; i++)
{
posList.Add(tDelta * i);
}
for (int i = 0; i < Count; i++)
{
GameObject tCell = GetCell(i);
ConfigCell(tCell, i);
}
HideUnused();
PageTo(0, false);
}
private GameObject GetCell(int pCellIndex)
{
if (mCellList == null)
{
mCellList = new List<GameObject>();
}
GameObject tCell = null;
if (pCellIndex < mCellList.Count)
{
tCell = mCellList[pCellIndex];
}
else
{
tCell = Instantiate(mTplCell, GetPage(pCellIndex));
tCell.transform.localScale = Vector3.one;
mCellList.Add(tCell);
}
tCell.SetActive(true);
return tCell;
}
private Transform GetPage(int pCellIndex)
{
if (mPageList == null)
{
mPageList = new List<Transform>();
}
int tPageIndex = pCellIndex / CountPerPage;
Transform tPage = null;
if (tPageIndex < mPageList.Count)
{
tPage = mPageList[tPageIndex];
}
else
{
tPage = Instantiate(mTplPage, mCtnPage).transform;
mPageList.Add(tPage);
}
tPage.gameObject.SetActive(true);
return tPage;
}
private void HideUnused()
{
for (int i = Count; i < mCellList.Count; i++)
{
mCellList[i].SetActive(false);
}
for (int i = PageCount; i < mPageList.Count; i++)
{
mPageList[i].gameObject.SetActive(false);
}
}
#endregion
}

View File

@ -7,7 +7,7 @@ public class PanelLevel : BasePanel
{
[SerializeField] Button mBtnBack;
[SerializeField] Button mBtnBackToMain;
[SerializeField] LevelList mLvList;
[SerializeField] LevelPage mLvPage;
private bool mOpenInLevel = false;
@ -16,14 +16,14 @@ public class PanelLevel : BasePanel
UIUtils.BindBtn(mBtnBack, Close);
UIUtils.BindBtn(mBtnBackToMain, OnClickBackToMain);
mLvList.DelClickLevel = OnClickLevel;
mLvPage.DelClickLevel = OnClickLevel;
}
public override void OnOpen()
{
base.OnOpen();
mLvList.LoadData();
mLvPage.LoadData();
}
public void Init(bool pOpenInLevel)