Ejemplo n.º 1
0
 private void OnDisable()
 {
     if (Resources.Load("MultiAT/LastSettings"))
     {
         MultiAssetSettings MAT = (MultiAssetSettings)Resources.Load("MultiAT/LastSettings");
         MultiAssetTransformUtility.TransformToSettings(MAT, this);
         AssetDatabase.SaveAssets();
     }
 }
    void SearchBar()
    {
        EditorGUILayout.LabelField("Search");
        var _queryAux = _searchQuery;

        _searchQuery = EditorGUILayout.TextField(_queryAux);
        if (_queryAux != _searchQuery && _searchQuery != "")
        {
            _searchResults.Clear();
            string[] paths = AssetDatabase.FindAssets(_searchQuery);

            for (int i = 0; i < paths.Length; i++)
            {
                paths[i] = AssetDatabase.GUIDToAssetPath(paths[i]);
                var load = AssetDatabase.LoadAssetAtPath(paths[i], typeof(Object));
                if (load.GetType() == typeof(MultiAssetSettings))
                {
                    _searchResults.Add((MultiAssetSettings)load);
                }
            }
        }
        else if (_searchQuery == "")
        {
            _searchResults.Clear();
        }

        if (_searchResults.Count > 0)
        {
            for (int i = 0; i < _searchResults.Count; i++)
            {
                if (_searchResults[i].GetType() == typeof(MultiAssetSettings))
                {
                    EditorGUILayout.BeginHorizontal();

                    EditorGUILayout.LabelField(_searchResults[i].ToString());
                    if (GUILayout.Button("Load"))
                    {
                        _searchQuery    = "";
                        currentSettings = _searchResults[i];
                        _showSearches   = false;
                    }
                    EditorGUILayout.EndHorizontal();
                }
            }
        }
    }
Ejemplo n.º 3
0
    private void OnEnable()
    {
        SeparatorStyle                  = new GUIStyle();
        SeparatorStyle.fontSize         = 15;
        SeparatorStyle.fontStyle        = FontStyle.Bold;
        SeparatorStyle.alignment        = TextAnchor.MiddleCenter;
        SeparatorStyle.normal.textColor = Color.grey;

        _show = new AnimBool(false);
        _show.valueChanged.AddListener(Repaint);

        Trans = (Transform)target;

        if (Resources.Load("MultiAT/LastSettings"))
        {
            MultiAssetSettings MAT = (MultiAssetSettings)Resources.Load("MultiAT/LastSettings");
            MultiAssetTransformUtility.SettingsToTransform(MAT, this);
        }
    }
    private void OnEnable()
    {
        SeparatorStyle                  = new GUIStyle();
        SeparatorStyle.fontSize         = 15;
        SeparatorStyle.fontStyle        = FontStyle.Bold;
        SeparatorStyle.alignment        = TextAnchor.MiddleCenter;
        SeparatorStyle.normal.textColor = Color.grey;

        _showSearches = true;

        if (Resources.Load("MultiAT/LastSettings"))
        {
            currentSettings = (MultiAssetSettings)Resources.Load("MultiAT/LastSettings");
        }
        else
        {
            ScriptableObjectUtility.CreateAsset <MultiAssetSettings>("Assets/Resources/MultiAT/", "LastSettings");
        }
    }
Ejemplo n.º 5
0
    public static void CopySettings(MultiAssetSettings From, MultiAssetSettings To)
    {
        To._xRotate = From._xRotate;
        To._yRotate = From._yRotate;
        To._zRotate = From._zRotate;

        To._xScale = From._xScale;
        To._yScale = From._yScale;
        To._zScale = From._zScale;

        To._deegreesRotationA = From._deegreesRotationA;
        To._deegreesRotationB = From._deegreesRotationB;

        To._UnitsScaleA = From._UnitsScaleA;
        To._UnitsScaleB = From._UnitsScaleB;

        To._RotateOnWorldAxis = From._RotateOnWorldAxis;

        To.CurrentStateR = From.CurrentStateR;
        To.RotationSpace = From.RotationSpace;
    }
Ejemplo n.º 6
0
    public static MultiAssetTransform TransformToSettings(MultiAssetSettings MultiAS, MultiAssetTransform MultiAT)
    {
        MultiAS._xRotate = MultiAT._xRotate;
        MultiAS._yRotate = MultiAT._yRotate;
        MultiAS._zRotate = MultiAT._zRotate;

        MultiAS._xScale = MultiAT._xScale;
        MultiAS._yScale = MultiAT._yScale;
        MultiAS._zScale = MultiAT._zScale;

        MultiAS._deegreesRotationA = MultiAT._deegreesRotationA;
        MultiAS._deegreesRotationB = MultiAT._deegreesRotationB;

        MultiAS._UnitsScaleA = MultiAT._UnitsScaleA;
        MultiAS._UnitsScaleB = MultiAT._UnitsScaleB;

        MultiAS._RotateOnWorldAxis = MultiAT._RotateOnWorldAxis;

        MultiAS.CurrentStateR = MultiAT.CurrentStateR;
        MultiAS.RotationSpace = MultiAT.RotationSpace;

        return(MultiAT);
    }
Ejemplo n.º 7
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        _show.target = EditorGUILayout.Toggle("Randomize Transform", _show.target);
        if (EditorGUILayout.BeginFadeGroup(_show.faded))
        {
            EditorGUI.DrawRect(GUILayoutUtility.GetRect(300, 1), Color.grey);
            EditorGUILayout.LabelField("Rotation", SeparatorStyle);

            EditorGUILayout.BeginHorizontal();
            EditorGUIUtility.labelWidth = 15;
            _xRotate = EditorGUILayout.Toggle("X", _xRotate, GUILayout.ExpandWidth(false));
            _yRotate = EditorGUILayout.Toggle("Y", _yRotate, GUILayout.ExpandWidth(false));
            _zRotate = EditorGUILayout.Toggle("Z", _zRotate, GUILayout.ExpandWidth(false));
            EditorGUIUtility.labelWidth = 0;
            EditorGUILayout.EndHorizontal();

            _deegreesRotationB = EditorGUILayout.FloatField("min Deegrees", _deegreesRotationB, GUILayout.ExpandWidth(false));
            _deegreesRotationA = EditorGUILayout.FloatField("max Deegrees", _deegreesRotationA, GUILayout.ExpandWidth(false));

            _RotateOnWorldAxis = EditorGUILayout.Toggle("Rotating on " + CurrentStateR + " axis", _RotateOnWorldAxis);
            if (_RotateOnWorldAxis)
            {
                CurrentStateR = "WORLD";
                RotationSpace = Space.World;
            }
            else
            {
                CurrentStateR = "LOCAL";
                RotationSpace = Space.Self;
            }
            //----------------------------------------------------------------------------------------------------------------------
            EditorGUI.DrawRect(GUILayoutUtility.GetRect(300, 1), Color.grey);
            EditorGUILayout.LabelField("Scale", SeparatorStyle);
            //----------------------------------------------------------------------------------------------------------------------
            EditorGUILayout.BeginHorizontal();
            EditorGUIUtility.labelWidth = 15;
            _xScale = EditorGUILayout.Toggle("X", _xScale, GUILayout.ExpandWidth(false));
            _yScale = EditorGUILayout.Toggle("Y", _yScale, GUILayout.ExpandWidth(false));
            _zScale = EditorGUILayout.Toggle("Z", _zScale, GUILayout.ExpandWidth(false));
            EditorGUIUtility.labelWidth = 0;
            EditorGUILayout.EndHorizontal();

            _UnitsScaleB = EditorGUILayout.FloatField("min Scale", _UnitsScaleB, GUILayout.ExpandWidth(false));
            _UnitsScaleA = EditorGUILayout.FloatField("max Scale", _UnitsScaleA, GUILayout.ExpandWidth(false));

            if (GUILayout.Button("Randomize"))
            {
                if (_xRotate)
                {
                    foreach (var item in Selection.gameObjects)
                    {
                        item.transform.Rotate(new Vector3(Random.Range(_deegreesRotationA, _deegreesRotationB), 0, 0), RotationSpace);
                    }
                }
                if (_yRotate)
                {
                    foreach (var item in Selection.gameObjects)
                    {
                        item.transform.Rotate(new Vector3(0, Random.Range(_deegreesRotationA, _deegreesRotationB), 0), RotationSpace);
                    }
                }
                if (_zRotate)
                {
                    foreach (var item in Selection.gameObjects)
                    {
                        item.transform.Rotate(new Vector3(0, 0, Random.Range(_deegreesRotationA, _deegreesRotationB)), RotationSpace);
                    }
                }
                if (_xScale)
                {
                    foreach (var item in Selection.gameObjects)
                    {
                        item.transform.localScale += new Vector3(Random.Range(_UnitsScaleA, _UnitsScaleB), 0, 0);
                    }
                }
                if (_yScale)
                {
                    foreach (var item in Selection.gameObjects)
                    {
                        item.transform.localScale += new Vector3(0, Random.Range(_UnitsScaleA, _UnitsScaleB), 0);
                    }
                }
                if (_zScale)
                {
                    foreach (var item in Selection.gameObjects)
                    {
                        item.transform.localScale += new Vector3(0, 0, Random.Range(_UnitsScaleA, _UnitsScaleB));
                    }
                }
            }

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Save Profile"))
            {
                MultiAssetSettings MAT = (MultiAssetSettings)Resources.Load("MultiAT/LastSettings");
                MultiAssetTransformUtility.TransformToSettings(MAT, this);
                var window = new MultiAssetProfileSaveWindow(MAT);
                AssetDatabase.SaveAssets();
                window.Show();
            }
            if (GUILayout.Button("Open Profile"))
            {
                var window = new MultiAssetProfileWindow(this);
                window.Show();
                window.Focus();
                MultiAssetTransformUtility.TransformToSettings(window.currentSettings, this);
            }
            GUILayout.EndHorizontal();
        }
        EditorGUILayout.EndFadeGroup();
    }
Ejemplo n.º 8
0
 public MultiAssetProfileSaveWindow(MultiAssetSettings multi)
 {
     _settings = multi;
 }