TypeResolver
游戏无法解析类型时引发的事件。主要由CWL自身使用。
TypeResolve
cs
delegate void TypeResolve(ref bool resolved, Type objectType, ref Type readType, string qualified);
// ->
static void MyTypeResolver(ref bool resolved, Type objectType, ref Type readType, string qualified)
{
if (resolved || objectType != typeof(Zone)) {
return;
}
readType = typeof(Zone_Fallback);
resolved = true;
// 如有需要,进行一些额外的清理
}当resolved为false时,这意味着类型名称为qualified的readType无法实例化为objectType。如果您的解析器无法解析此类型,请直接返回并让下一个解析器处理,或者让游戏抛出异常。
如果您的处理程序能够解析此类型,请将readType更改为解析后的类型,并将resolved设置为true。
注册
cs
TypeResolver.Add(MyTypeResolver);