示例#1
0
        public void CreateDataSet(string name, PackageDefinition package, Type type)
        {
            Assert.IsFalse(string.IsNullOrEmpty(name));
            Assert.IsNotNull(package);
            Assert.IsNotNull(type);

            var dataSet = CreateInstance(type) as EntityFileAsset;

            Assert.IsNotNull(dataSet);

            dataSet.Initialize();

            var path = UnityFileUtils.GetUniqueAssetPathNameOrFallback($"{name}.asset");

            AssetDatabase.CreateAsset(dataSet, path);

            var guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(dataSet));

            dataSet.GetDataSet().DataSetGuid = guid;

            package.Entries.Add(dataSet);
            dataSet.PackageGuid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(package));

            this.OpenDataSet(guid);
        }
        public void Execute()
        {
            var dataSet = ScriptableObject.CreateInstance <DataSetAsset>();
            var path    = UnityFileUtils.GetUniqueAssetPathNameOrFallback("DataSet0000.asset");

            AssetDatabase.CreateAsset(dataSet, path);
            AssetDatabase.SaveAssets();

            EditorUtility.FocusProjectWindow();

            Selection.activeObject = dataSet;
        }