public static void ObjectCreate() { MasterRuin loadSettingData = CreateInstance <MasterRuin> (); string path = SystemSetting.GetScriptableobjectPath() + "MasterRuinAsset" + ".asset"; AssetDatabase.CreateAsset(loadSettingData, path); AssetDatabase.ImportAsset(path); EditorUtility.UnloadUnusedAssets(); }
public static void CreateComponents(Type _type) { string name = "target"; string outputPath = SystemSetting.GetAssetSrcPath() + _type.Name + "Prefab.prefab"; GameObject gameObject = EditorUtility.CreateGameObjectWithHideFlags( name, HideFlags.HideInHierarchy, typeof(MasterRuinDataHolder) ); //プレハブにスクリプタブルオブジェクトを設置 UnityEngine.Object[] assets; string assetName = SystemSetting.GetResourcesLoadPath() + _type.Name + "Asset"; assets = Resources.LoadAll(assetName); Debug.LogWarning("GetObj :" + assetName.ToString()); MasterRuin tmp = new MasterRuin(); foreach (UnityEngine.Object asset in assets) { if (asset is MasterRuin) { tmp = (MasterRuin)asset; } } MasterRuinDataHolder holder = gameObject.GetComponent <MasterRuinDataHolder> (); holder.assetBundleData = tmp; SetAssetBundleInfo(gameObject); PrefabUtility.CreatePrefab(outputPath, gameObject, ReplacePrefabOptions.ReplaceNameBased); Editor.DestroyImmediate(gameObject); }