1
This commit is contained in:
19
Unity/Scripts/SubSystems/Assets/AssetsProfile.cs
Normal file
19
Unity/Scripts/SubSystems/Assets/AssetsProfile.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Sirenix.OdinInspector;
|
||||
namespace BITKit
|
||||
{
|
||||
public class BITKitSO : ScriptableObject, IAssetsRegister
|
||||
{
|
||||
public virtual void RegisterAssets() { }
|
||||
}
|
||||
}
|
||||
namespace BITKit.SubSystems.Assets
|
||||
{
|
||||
public class AssetsProfile : ScriptableObject
|
||||
{
|
||||
[DisplayAsString] public string createTime;
|
||||
public List<BITKitSO> assets = new();
|
||||
}
|
||||
}
|
51
Unity/Scripts/SubSystems/Assets/AssetsRegister.cs
Normal file
51
Unity/Scripts/SubSystems/Assets/AssetsRegister.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
namespace BITKit
|
||||
{
|
||||
public interface IAssetsRegister
|
||||
{
|
||||
void RegisterAssets();
|
||||
}
|
||||
}
|
||||
namespace BITKit.SubSystems.Assets
|
||||
{
|
||||
[SubSystemConfig(isMainThread = true)]
|
||||
public class AssetsRegister : SubBITSystem
|
||||
{
|
||||
AssetsProfile assetsProfile;
|
||||
/* #if UNITY_EDITOR
|
||||
public override void OnCreate()
|
||||
{
|
||||
var scriptableObjects = AssetDatabase
|
||||
.FindAssets($"t:{nameof(BITKitSO)}")
|
||||
.Select(x => AssetDatabase.GUIDToAssetPath(x))
|
||||
.Select(x => AssetDatabase.LoadAssetAtPath<BITKitSO>(x));
|
||||
|
||||
|
||||
assetsProfile = ScriptableObjectHelper.Get<AssetsProfile>();
|
||||
assetsProfile.createTime = System.DateTime.Now.ToString();
|
||||
assetsProfile.assets.Clear();
|
||||
scriptableObjects.ForEach(x =>
|
||||
{
|
||||
assetsProfile.assets.Add(x);
|
||||
});
|
||||
EditorUtility.SetDirty(assetsProfile);
|
||||
}
|
||||
#endif */
|
||||
public override void OnStart()
|
||||
{
|
||||
assetsProfile = ScriptableObjectHelper.Get<AssetsProfile>();
|
||||
assetsProfile.assets.ForEach(x =>
|
||||
{
|
||||
x.RegisterAssets();
|
||||
});
|
||||
BIT4Log.Log<AssetsRegister>($"已注册{nameof(AssetsProfile)}:{assetsProfile.assets.Count}个");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user