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; }