| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #if UNITY_EDITOR
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEditor;
- [CustomEditor(typeof(LoopScrollRect), true)]
- public class LoopScrollRectInspector : Editor
- {
- int index = 0;
- float speed = 1000, time = 1;
- public override void OnInspectorGUI ()
- {
- base.OnInspectorGUI();
- EditorGUILayout.Space();
- LoopScrollRect scroll = (LoopScrollRect)target;
- GUI.enabled = Application.isPlaying;
- EditorGUILayout.BeginHorizontal();
-
- if (GUILayout.Button("刷新"))
- {
- scroll.RefreshCells().NoContext();
- }
-
- /*if(GUILayout.Button("Clear"))
- {
- scroll.ClearCells();
- }
- if(GUILayout.Button("Refill"))
- {
- scroll.RefillCells();
- }
- if(GUILayout.Button("RefillFromEnd"))
- {
- scroll.RefillCellsFromEnd();
- }*/
- EditorGUILayout.EndHorizontal();
- EditorGUIUtility.labelWidth = 45;
- float w = (EditorGUIUtility.currentViewWidth - 100) / 2;
- index = EditorGUILayout.IntField(" 索引", index, GUILayout.Width(w));
- EditorGUILayout.BeginHorizontal();
- EditorGUIUtility.labelWidth = 60;
- speed = EditorGUILayout.FloatField(" 滚动速度", speed, GUILayout.Width(w));
- if(GUILayout.Button("滚动跳转", GUILayout.Width(130)))
- {
- if (scroll.totalCount <= 0)
- {
- return;
- }
- index = Mathf.Clamp(index, 0, scroll.totalCount - 1);
- scroll.ScrollToCell(index, speed).NoContext();
- }
- EditorGUILayout.EndHorizontal();
-
- EditorGUILayout.BeginHorizontal();
- EditorGUIUtility.labelWidth = 60;
- time = EditorGUILayout.FloatField(" 滚动时间", time, GUILayout.Width(w));
- if(GUILayout.Button("时间跳转", GUILayout.Width(130)))
- {
- if (scroll.totalCount <= 0)
- {
- return;
- }
- index = Mathf.Clamp(index, 0, scroll.totalCount - 1);
- scroll.ScrollToCellWithinTime(index, time).NoContext();
- }
- EditorGUILayout.EndHorizontal();
- }
- }
- #endif
|