Beispiel #1
0
 private void OnDrawGizmos()
 {
     if (executeInEditMode && !CanSleepAt(position - springPosition))
     {
         EditModePlayback.Register(this);
     }
 }
Beispiel #2
0
        protected override void OnInterpolate(float value)
        {
            position = value;

#if UNITY_EDITOR
            if (!Application.isPlaying && executeInEditMode)
            {
                EditModePlayback.Register(this);
            }
#endif
        }
Beispiel #3
0
        protected override void OnValidate()
        {
            base.OnValidate();

            if (executeInEditMode)
            {
                EditModePlayback.Register(this);
            }
            else
            {
                EditModePlayback.Unregister(this);
            }

            onPositionChanged.OnValidate();

            onPositionChanged.Invoke(springPosition);
        }
        public override void OnInspectorGUI()
        {
            serializedObject.Update();

            EditorGUILayout.Space();

            DrawPropertiesExcluding(serializedObject, "m_Script", "onTween");

            var tweener = target as InOut;

            EditorGUILayout.Space();

            GUILayout.BeginHorizontal();

            if (GUILayout.Button("In", EditorStyles.miniButtonLeft))
            {
                if (Application.isPlaying)
                {
                    tweener.In();
                }
                else
                {
                    serializedObject.FindProperty("previewDirection").enumValueIndex = EnumValueIndex(Direction.In);

                    EditModePlayback.Register(tweener);
                }
            }

            if (GUILayout.Button("Out", EditorStyles.miniButtonRight))
            {
                if (Application.isPlaying)
                {
                    tweener.Out();
                }
                else
                {
                    serializedObject.FindProperty("previewDirection").enumValueIndex = EnumValueIndex(Direction.Out);

                    EditModePlayback.Register(tweener);
                }
            }

            if (GUILayout.Button("Stop", EditorStyles.miniButton))
            {
                if (Application.isPlaying)
                {
                    tweener.Stop();
                }
                else
                {
                    serializedObject.FindProperty("previewDirection").enumValueIndex = EnumValueIndex(Direction.None);
                }
            }

            using (new EditorGUI.DisabledScope(true))
            {
                EditorGUILayout.PropertyField(serializedObject.FindProperty("previewDirection"), GUIContent.none);
            }

            GUILayout.EndHorizontal();

            EditorGUILayout.Space();

            EditorGUILayout.PropertyField(serializedObject.FindProperty("onTween"));

            serializedObject.ApplyModifiedProperties();
        }