异步加载已修复, Config更新正推动
This commit is contained in:
@@ -7,6 +7,7 @@ using Dreamteck.Splines;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -32,26 +33,33 @@ namespace Demo
|
||||
SharedModule.instance.OpenCustomMenu(item, result.ToArray());
|
||||
}
|
||||
|
||||
static DefaultInstantiate()
|
||||
{
|
||||
s_ScriptableObjectInstantiate = new();
|
||||
ScriptableObjectTypename2ID = new();
|
||||
ScriptableObjectID2Typename = new();
|
||||
int cnt = 0;
|
||||
foreach (var type in Utility.SeekType(x => x.IsSubclassOf(typeof(ScriptableObject)) && x.GetCustomAttribute<Attr.ScriptableAttribute>() != null))
|
||||
{
|
||||
var attr = type.GetCustomAttribute<Attr.ScriptableAttribute>();
|
||||
s_ScriptableObjectInstantiate.Add(type.Name, () => (ScriptableObject)ConventionUtility.InvokeMember(type.GetMethod(attr.generaterName), null));
|
||||
}
|
||||
var typelist = s_ScriptableObjectInstantiate.Keys.ToList();
|
||||
typelist.Sort();
|
||||
foreach (var type in typelist)
|
||||
{
|
||||
ScriptableObjectTypename2ID.Add(type, cnt);
|
||||
ScriptableObjectID2Typename.Add(cnt, type);
|
||||
cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
private static Dictionary<string, Func<ScriptableObject>> s_ScriptableObjectInstantiate;
|
||||
public readonly static Dictionary<string, int> ScriptableObjectTypename2ID;
|
||||
public readonly static Dictionary<int, string> ScriptableObjectID2Typename;
|
||||
|
||||
public static Dictionary<string, Func<ScriptableObject>> GetScriptableObjectInstantiate()
|
||||
{
|
||||
//return s_ScriptableObjectInstantiate ??= new Dictionary<string, Func<ScriptableObject>>(GameObjectInstantiate
|
||||
// .Union(DDTInstantiate)
|
||||
// .Union(TickUpdatementInstantiate)
|
||||
// .Union(MaterialUpdatementInstantiate)
|
||||
// .Union(SplineInstantiate)
|
||||
// .Union(JudgementInstantiate)
|
||||
// .Union(SingleVolumeInstantiate));
|
||||
if (s_ScriptableObjectInstantiate == null)
|
||||
{
|
||||
s_ScriptableObjectInstantiate = new();
|
||||
foreach (var type in Utility.SeekType(x => x.IsSubclassOf(typeof(ScriptableObject)) && x.GetCustomAttribute<Attr.ScriptableAttribute>() != null))
|
||||
{
|
||||
var attr = type.GetCustomAttribute<Attr.ScriptableAttribute>();
|
||||
s_ScriptableObjectInstantiate.Add(type.Name, () => (ScriptableObject)ConventionUtility.InvokeMember(type.GetMethod(attr.generaterName), null));
|
||||
}
|
||||
}
|
||||
return s_ScriptableObjectInstantiate;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user