private void DrawSettingsUI()
        {
            Target.data.DataAsset = (AnimationDataAsset)EditorGUILayout.ObjectField("Data Asset", Target.data.DataAsset, typeof(AnimationDataAsset), true);
            if (Target.data.DataAsset != _safeDataAsset)
            {
                Reload();
                _safeDataAsset = Target.data.DataAsset;
            }
            EditorGUILayout.Space();
            if (Target.data.DataAsset != null)
            {
                _playOnAwake.boolValue = EditorGUILayout.Toggle("Play on awake", _playOnAwake.boolValue);
                EditorGUILayout.BeginHorizontal();
                _indexSelectAnimation.intValue = EditorGUILayout.Popup(_indexSelectAnimation.intValue, _animations);
                _loopPlayAwake.boolValue       = EditorGUILayout.Toggle("Loop", _loopPlayAwake.boolValue);
                EditorGUILayout.EndHorizontal();
                _frameIndex.intValue  = (int)EditorGUILayout.Slider((float)_frameIndex.intValue, 0, GetAnimationLength());
                _timeScale.floatValue = EditorGUILayout.FloatField("Time Scale", _timeScale.floatValue);

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Flip", GUILayout.MaxWidth(100));
                _flipX.boolValue = EditorGUILayout.ToggleLeft("X", _flipX.boolValue, GUILayout.MaxWidth(50));
                _flipY.boolValue = EditorGUILayout.ToggleLeft("Y", _flipY.boolValue, GUILayout.MaxWidth(50));
                Target.FlipX     = _flipX.boolValue;
                Target.FlipY     = _flipY.boolValue;
                EditorGUILayout.EndHorizontal();
                DrawThread();
            }
        }
Example #2
0
 private void FillSpritesPool(Sprite[] sprites, AnimationDataAsset dataAsset)
 {
     dataAsset.CurrentSpritesPool = new SpritesPool();
     for (int i = 0; i < sprites.Length; i++)
     {
         if (sprites[i] != null)
         {
             dataAsset.CurrentSpritesPool.Add(sprites[i]);
         }
     }
 }
Example #3
0
        private AnimationDataAsset CreateAsset(string path, string name)
        {
            string             fullPath  = GetAssetPath(path, name + ".asset");
            AnimationDataAsset dataAsset = (AnimationDataAsset)AssetDatabase.LoadAssetAtPath(fullPath, typeof(AnimationDataAsset));

            if (dataAsset == null)
            {
                dataAsset = ScriptableObject.CreateInstance <AnimationDataAsset>();
                AssetDatabase.CreateAsset(dataAsset, fullPath);
            }
            return(dataAsset);
        }
Example #4
0
        public void Clone(AnimationDataAsset copy)
        {
            Animations.Clear();
            for (int i = 0; i < copy.Animations.Count; i++)
            {
                Animations.Add(copy.Animations[i]);
            }

            CurrentSpritesPool = copy.CurrentSpritesPool;
            PixelsPerUnits     = copy.PixelsPerUnits;
            IsEditorMode       = copy.IsEditorMode;
        }