Skip to content

TypeResolver

命名空间: Cwl.API.Processors;

游戏无法解析类型时引发的事件。主要由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;
    // 如有需要,进行一些额外的清理
}

resolvedfalse时,这意味着类型名称为qualifiedreadType无法实例化为objectType。如果您的解析器无法解析此类型,请直接返回并让下一个解析器处理,或者让游戏抛出异常。

如果您的处理程序能够解析此类型,请将readType更改为解析后的类型,并将resolved设置为true

注册

cs
TypeResolver.Add(MyTypeResolver);