diff --git a/Assets/Resources/UIs/PanelLevel.prefab b/Assets/Resources/UIs/PanelLevel.prefab index 2bdaa0b6..5bf1161c 100644 --- a/Assets/Resources/UIs/PanelLevel.prefab +++ b/Assets/Resources/UIs/PanelLevel.prefab @@ -1581,6 +1581,154 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 2 m_VerticalFit: 0 +--- !u!1 &3029721087772614101 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8609883081692439208} + - component: {fileID: 5100940484003565473} + - component: {fileID: 3855579015790860693} + m_Layer: 5 + m_Name: Gob_LeftArrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8609883081692439208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3029721087772614101} + 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: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 15, y: 10} + m_SizeDelta: {x: 26, y: 47} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5100940484003565473 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3029721087772614101} + m_CullTransparentMesh: 0 +--- !u!114 &3855579015790860693 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3029721087772614101} + 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: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6c99bee9d39cd41c7a2f711ac0f345c4, 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 &3032197750521620187 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5400691266993140498} + - component: {fileID: 5767648501680561061} + - component: {fileID: 5889138665231479791} + m_Layer: 5 + m_Name: Gob_RightArrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5400691266993140498 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3032197750521620187} + 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: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 10} + m_SizeDelta: {x: 26, y: 47} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5767648501680561061 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3032197750521620187} + m_CullTransparentMesh: 0 +--- !u!114 &5889138665231479791 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3032197750521620187} + 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: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6c99bee9d39cd41c7a2f711ac0f345c4, 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 &4188896560613130200 GameObject: m_ObjectHideFlags: 0 @@ -1707,6 +1855,8 @@ MonoBehaviour: mCtnPage: {fileID: 1890007152666068253} mTplPage: {fileID: 9135682575315895655} mTplCell: {fileID: 1549853548759154687} + mGobLeftArrow: {fileID: 3029721087772614101} + mGobRightArrow: {fileID: 3032197750521620187} --- !u!1 &4965647244121264397 GameObject: m_ObjectHideFlags: 0 @@ -2251,6 +2401,8 @@ RectTransform: - {fileID: 9135682575315895654} - {fileID: 1549853548759154686} - {fileID: 4965647245680162111} + - {fileID: 8609883081692439208} + - {fileID: 5400691266993140498} m_Father: {fileID: 1549853549434864437} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs b/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs index e63be1b8..7654cbd7 100644 --- a/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs +++ b/Assets/Scripts/UI/CustomControl/LevelList/LevelPage.cs @@ -7,10 +7,15 @@ public class LevelPage : PageView { public Action DelClickLevel; - private void Start() + [SerializeField] GameObject mGobLeftArrow; + [SerializeField] GameObject mGobRightArrow; + + protected override void AwakeInit() { OnScrollPage = PlayScrollPage; OnReachEdge = PlayReachEdge; + + OnPageChanged = PageChanged; } public override int Count @@ -52,6 +57,12 @@ public class LevelPage : PageView DelClickLevel?.Invoke(pLevelIndex); } + private void PageChanged(int pPageIndex) + { + mGobLeftArrow.SetActive(pPageIndex > 0); + mGobRightArrow.SetActive(pPageIndex < PageCount - 1); + } + private void PlayScrollPage() { AudioManager.Instance.PlaySound(AudioType.TurnPage); diff --git a/Assets/Scripts/UI/CustomControl/PageView.cs b/Assets/Scripts/UI/CustomControl/PageView.cs index 78cf2d01..083b57c9 100644 --- a/Assets/Scripts/UI/CustomControl/PageView.cs +++ b/Assets/Scripts/UI/CustomControl/PageView.cs @@ -40,6 +40,7 @@ public abstract class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandl void Awake() { rect = transform.GetComponent(); + AwakeInit(); } void Update() @@ -136,7 +137,6 @@ public abstract class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandl #endregion #region config cell - public abstract int Count { get; @@ -146,6 +146,8 @@ public abstract class PageView : MonoBehaviour, IBeginDragHandler, IEndDragHandl private int mPageCount; + protected abstract void AwakeInit(); + protected abstract void ConfigCell(GameObject pCellGob, int pIndex); public void LoadData()