void Start() { if (widgetForBlinkConfirmation != null) { _initBlinkColor = widgetForBlinkConfirmation.color; } _cycler = cyclerPanel.gameObject.GetComponent(typeof(IPCycler)) as IPCycler; _dragContents = pickerColliderObject.GetComponent(typeof(IPDragScrollView)) as IPDragScrollView; _pickerInteraction = pickerColliderObject.GetComponent(typeof(IPUserInteraction)) as IPUserInteraction; _pickerCollider = pickerColliderObject.GetComponent(typeof(BoxCollider)) as BoxCollider; _thisCollider = gameObject.GetComponent(typeof(BoxCollider)) as BoxCollider; _clipRangeTween = cyclerPanel.gameObject.GetComponent(typeof(TweenPanelClipRange)) as TweenPanelClipRange; _softnessTween = cyclerPanel.gameObject.GetComponent(typeof(TweenPanelClipSoftness)) as TweenPanelClipSoftness; _scaleTween = pickerBackground.gameObject.GetComponent(typeof(TweenHeight)) as TweenHeight; cyclerPanel.baseClipRegion = _clipRangeTween.from; cyclerPanel.clipSoftness = _softnessTween.from; pickerBackground.height = ( int )_scaleTween.from; _dragContents.enabled = false; _pickerCollider.enabled = false; }
//Called by editor script (IPCyclerInspector) via sendmessage to rebuild widgets when nb of transforms in picker changes protected void RebuildWidgets() { if (cycler == null) { cycler = GetComponentInChildren(typeof(IPCycler)) as IPCycler; } MakeWidgetComponents(); ResetWidgets(); }
void Awake() { _cycler = gameObject.GetComponent(typeof(IPCycler)) as IPCycler; if (_cycler == null) { Debug.LogError("CyclerClamper must be placed on the same GameObject as IPCycler."); Destroy(this); return; } }
void OnEnable() { _cycler = new SerializedObject(target); _cycler.Update(); IPCycler cycler = ( IPCycler )target; _nbOfTransforms = cycler.NbOfTransforms; _spacing = _cycler.FindProperty("spacing"); _direction = _cycler.FindProperty("direction"); _recenterSpeedThreshold = _cycler.FindProperty("recenterSpeedThreshold"); _recenterSpringStrength = _cycler.FindProperty("recenterSpringStrength"); _restrictDragToPicker = _cycler.FindProperty("restrictDragToPicker"); }
void Start() { if (observedPicker == null) { observedPicker = gameObject.GetComponent(typeof(IPPickerBase)) as IPPickerBase; } if (observedPicker == null) { Debug.LogError("Needs an IPPicker!"); return; } _cycler = observedPicker.cycler; if (_cycler == null) { Debug.LogError("No Cycler!"); } SetDelegates(); if (notifyOnSelectionChange && onSelectionChangeNotification.notifyInStart) { Notify(onSelectionChangeNotification); } if (notifyOnSelectionStarted && onStartedNotification.notifyInStart) { Notify(onStartedNotification); } if (notifyOnCenterOnChildStarted && onCenterOnChildNotification.notifyInStart) { Notify(onCenterOnChildNotification); } if (notifyOnPickerStopped && onStoppedNotification.notifyInStart) { Notify(onStoppedNotification); } if (notifyOnDragExit && onExitNotification.notifyInStart) { Notify(onExitNotification); } }
protected virtual void Init() { if (cycler == null) { cycler = GetComponentInChildren(typeof(IPCycler)) as IPCycler; } if (WidgetsNeedRebuild()) { MakeWidgetComponents(); } UpdateVirtualElementsCount(); if (_nbOfVirtualElements == 0) { EnableWidgets(false); return; } _selectedIndex = GetInitIndex(); UpdateCurrentValue(); ResetWidgetsContent(); }
public override void OnInspectorGUI() { _cycler.Update(); EditorGUILayout.BeginHorizontal(); GUILayout.Label("Number of transforms to cycle : "); GUILayout.Label(_nbOfTransforms.ToString()); if (GUILayout.Button(_lessTransformsButton, EditorStyles.miniButtonLeft, _buttonWidth)) { if (_nbOfTransforms > 4) { IPCycler cycler = ( IPCycler )target; _nbOfTransforms -= 2; if (_nbOfTransforms % 2 == 0) { _nbOfTransforms++; } cycler.RebuildTransforms(_nbOfTransforms); cycler.SendMessageUpwards("RebuildWidgets", SendMessageOptions.DontRequireReceiver); } } if (GUILayout.Button(_moreTransformsButton, EditorStyles.miniButtonRight, _buttonWidth)) { IPCycler cycler = ( IPCycler )target; int nbToAdd = _nbOfTransforms % 2 == 0 ? 3 : 2; _nbOfTransforms += nbToAdd; cycler.RebuildTransforms(_nbOfTransforms); cycler.SendMessageUpwards("RebuildWidgets", SendMessageOptions.DontRequireReceiver); } EditorGUILayout.EndHorizontal(); EditorGUILayout.PropertyField(_spacing); EditorGUILayout.PropertyField(_direction); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Recenter Speed Threshold", GUILayout.Width(150f)); _recenterSpeedThreshold.floatValue = EditorGUILayout.FloatField(_recenterSpeedThreshold.floatValue); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Recenter Spring Strength", GUILayout.Width(150f)); _recenterSpringStrength.floatValue = EditorGUILayout.FloatField(_recenterSpringStrength.floatValue); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Restrict Drag To Picker", GUILayout.Width(150f)); _restrictDragToPicker.boolValue = EditorGUILayout.Toggle(_restrictDragToPicker.boolValue); EditorGUILayout.EndHorizontal(); if (GUILayout.Button(_resetButton, EditorStyles.toolbarButton, _resetButtonWidth)) { IPCycler cycler = ( IPCycler )target; cycler.EditorInit(); cycler.SendMessageUpwards("RebuildWidgets", SendMessageOptions.DontRequireReceiver); } if (_cycler.ApplyModifiedProperties()) { (( IPCycler )target).UpdateTrueSpacing(); } }