< Summary

Class:DCL.Helpers.ScriptableObjectUtility
Assembly:MainEditor
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/Editor/ScriptableObjectUtility.cs
Covered lines:0
Uncovered lines:15
Coverable lines:15
Total lines:41
Line coverage:0% (0 of 15)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreateAsset[T]()0%12300%
CreateAsset()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/Editor/ScriptableObjectUtility.cs

#LineLine coverage
 1using System.IO;
 2using UnityEditor;
 3using UnityEngine;
 4
 5namespace DCL.Helpers
 6{
 7    //NOTE(Brian): This is taken from http://wiki.unity3d.com/index.php/CreateScriptableObjectAsset
 8    public static class ScriptableObjectUtility
 9    {
 10        /// <summary>
 11        //  This makes it easy to create, name and place unique new ScriptableObject asset files.
 12        /// </summary>
 13        public static void CreateAsset<T>() where T : ScriptableObject
 14        {
 015            T asset = ScriptableObject.CreateInstance<T>();
 16
 017            string path = AssetDatabase.GetAssetPath(Selection.activeObject);
 018            if (path == "")
 19            {
 020                path = "Assets";
 021            }
 022            else if (Path.GetExtension(path) != "")
 23            {
 024                path = path.Replace(Path.GetFileName(AssetDatabase.GetAssetPath(Selection.activeObject)), "");
 25            }
 26
 027            string assetPathAndName =
 28                AssetDatabase.GenerateUniqueAssetPath(path + "/New " + typeof(T).ToString() + ".asset");
 29
 030            AssetDatabase.CreateAsset(asset, assetPathAndName);
 31
 032            AssetDatabase.SaveAssets();
 033            AssetDatabase.Refresh();
 034            EditorUtility.FocusProjectWindow();
 035            Selection.activeObject = asset;
 036        }
 37
 38        [MenuItem("Assets/Create/Decentraland/DCLComponentFactory")]
 039        public static void CreateAsset() { ScriptableObjectUtility.CreateAsset<PoolableComponentFactory>(); }
 40    }
 41}

Methods/Properties

CreateAsset[T]()
CreateAsset()