Esempio n. 1
0
            public void ClearComponent()
            {
                _gameObject.ClearGameObject();
                _componentIndex = 0;

                _editorComponent        = null;
                _editorLoaderGameObject = null;
                _editorSceneLoaded      = false;
                _editorLoaderIsLoaded   = false;
            }
 protected override void ClearStaticValue()
 {
     _value.ClearGameObject();
 }
            public bool RenderObjectProperties(GUIContent label)
            {
                bool dataChanged = false;

                dataChanged |= _gameObject.RenderObjectProperties(new GUIContent("Game Object"));

                bool transformFlagsChanged;

                _transformFlags = SerializedObjectEditorGUILayout.ObjectField(_transformFlags, "Transform Flags", out transformFlagsChanged);
                dataChanged    |= transformFlagsChanged;

                bool moveTypeChanged;

                _moveType    = SerializedObjectEditorGUILayout.ObjectField(_moveType, "Move Type", out moveTypeChanged);
                dataChanged |= moveTypeChanged;

                bool easeChanged;

                _easeType    = SerializedObjectEditorGUILayout.ObjectField(_easeType, "Ease Type", out easeChanged);
                dataChanged |= easeChanged;

                EditorGUI.BeginChangeCheck();
                _duration    = EditorGUILayout.FloatField("Duration", _duration);
                dataChanged |= EditorGUI.EndChangeCheck();

                bool targetChanged;

                _targetType = SerializedObjectEditorGUILayout.ObjectField(_targetType, "Target Type", out targetChanged);
                if (targetChanged)
                {
                    dataChanged = true;

                    _targetTransform.ClearGameObject();
                    _targetPosition = Vector3.zero;
                    _targetRotation = Quaternion.identity;
                    _targetScale    = Vector3.one;
                }

                switch (_targetType)
                {
                case eTargetType.Transform:
                {
                    dataChanged |= _targetTransform.RenderObjectProperties(new GUIContent("Target Type"));
                }
                break;

                case eTargetType.LocalDelta:
                case eTargetType.LocalTarget:
                case eTargetType.WorldDelta:
                case eTargetType.WorldTarget:
                {
                    if ((_transformFlags & eTransformFlag.Translate) != 0)
                    {
                        EditorGUI.BeginChangeCheck();
                        _targetPosition = EditorGUILayout.Vector3Field("Translation", _targetPosition);
                        dataChanged    |= EditorGUI.EndChangeCheck();
                    }
                    if ((_transformFlags & eTransformFlag.Rotate) != 0)
                    {
                        EditorGUI.BeginChangeCheck();
                        _targetRotation.eulerAngles = EditorGUILayout.Vector3Field("Rotation", _targetRotation.eulerAngles);
                        dataChanged |= EditorGUI.EndChangeCheck();
                    }
                    if ((_transformFlags & eTransformFlag.Scale) != 0)
                    {
                        EditorGUI.BeginChangeCheck();
                        _targetScale = EditorGUILayout.Vector3Field("Scale", _targetScale);
                        dataChanged |= EditorGUI.EndChangeCheck();
                    }
                }
                break;
                }


                return(dataChanged);
            }