diff --git a/Assets/Resources/GameConfig.asset b/Assets/Resources/GameConfig.asset index c73a0d1b..2efd2a64 100644 --- a/Assets/Resources/GameConfig.asset +++ b/Assets/Resources/GameConfig.asset @@ -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' diff --git a/Assets/Resources/UIs/PanelLevel.prefab b/Assets/Resources/UIs/PanelLevel.prefab index 236a68b1..99879b73 100644 --- a/Assets/Resources/UIs/PanelLevel.prefab +++ b/Assets/Resources/UIs/PanelLevel.prefab @@ -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} diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 5ab48f18..93605cf9 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -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} diff --git a/Assets/Scripts/UI/CustomControl/LevelList/LevelCell.cs b/Assets/Scripts/UI/CustomControl/LevelList/LevelCell.cs index 6234978e..df378651 100644 --- a/Assets/Scripts/UI/CustomControl/LevelList/LevelCell.cs +++ b/Assets/Scripts/UI/CustomControl/LevelList/LevelCell.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; -public class LevelCell : UIListCell +public class LevelCell : MonoBehaviour { public Action 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() diff --git a/Assets/Scripts/UI/CustomControl/LevelList/LevelList.cs b/Assets/Scripts/UI/CustomControl/LevelList/LevelList.cs deleted file mode 100644 index 32354e11..00000000 --- a/Assets/Scripts/UI/CustomControl/LevelList/LevelList.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Collections; -using System; -using System.Collections.Generic; -using UnityEngine; - -public class LevelList : UIListView -{ - public Action 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); - } -} \ No newline at end of file diff --git a/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs b/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs new file mode 100644 index 00000000..2883a784 --- /dev/null +++ b/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class LevelPage : PageView +{ + public Action 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(); + + 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); + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/CustomControl/LevelList/LevelList.cs.meta b/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs.meta similarity index 83% rename from Assets/Scripts/UI/CustomControl/LevelList/LevelList.cs.meta rename to Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs.meta index 0e17b95d..f6d07c29 100644 --- a/Assets/Scripts/UI/CustomControl/LevelList/LevelList.cs.meta +++ b/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2a46c284f255c46569f976045d5ccae9 +guid: 6f57cac8c398047309e9dd841dbeca36 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/UI/CustomControl/PageView.cs b/Assets/Scripts/UI/CustomControl/PageView.cs index ea304952..c2af3ce7 100644 --- a/Assets/Scripts/UI/CustomControl/PageView.cs +++ b/Assets/Scripts/UI/CustomControl/PageView.cs @@ -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 OnPageChanged; ScrollRect rect; //滑动组件 private float targethorizontal = 0; //滑动的起始坐标 private bool isDrag = false; //是否拖拽结束 - List posList = new List();//求出每页的临界角,页索引从0开始 + [SerializeField] List posList = new List();//求出每页的临界角,页索引从0开始 private int currentPageIndex = -1; private bool stopMove = true; @@ -24,18 +29,13 @@ public class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandler private float startDragHorizontal; + protected List mCellList; + protected List mPageList; + #region page scroll void Awake() { rect = transform.GetComponent(); - - 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 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(); + } + + 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 } \ No newline at end of file diff --git a/Assets/Scripts/UI/PanelLevel.cs b/Assets/Scripts/UI/PanelLevel.cs index 2dd22725..3ab3d864 100644 --- a/Assets/Scripts/UI/PanelLevel.cs +++ b/Assets/Scripts/UI/PanelLevel.cs @@ -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)