egametang/ET · error
target select handler not inherit ITargetSelectHandler abstr
Error message
target select handler not inherit ITargetSelectHandler abstract class: {obj.GetType().FullName} What it means
Error "target select handler not inherit ITargetSelectHandler abstract class: {obj.GetType().FullName}" thrown in egametang/ET.
Source
Thrown at Packages/cn.etetet.spell/Scripts/Model/Client/TargetSelectDispatcher.cs:63
public void Awake()
{
HashSet<Type> types = CodeTypes.Instance.GetTypes(typeof (TargetSelectHandlerAttribute));
foreach (Type type in types)
{
this.Register(type);
}
}
private void Register(Type type)
{
object obj = Activator.CreateInstance(type);
ITargetSelectHandler targetSelectHandler = obj as ITargetSelectHandler;
if (targetSelectHandler == null)
{
throw new Exception($"target select handler not inherit ITargetSelectHandler abstract class: {obj.GetType().FullName}");
}
Type nodeType = targetSelectHandler.GetNodeType();
this.handlers.TryAdd(nodeType, targetSelectHandler);
}
public ETTask<int> Handle(TargetSelector node, EntityRef<Unit> unit, SpellConfig spellConfig)
{
Type handlerType = node.GetType();
while (handlerType != null)
{
if (this.handlers.TryGetValue(handlerType, out ITargetSelectHandler targetSelectHandler))
{
return targetSelectHandler.Handle(node, unit, spellConfig);
}
handlerType = handlerType.BaseType;View on GitHub (pinned to 5cab01f7a8)
Solutions
- 让该 handler 类继承 ITargetSelectHandler 抽象类
- 或从程序集中移除/排除这个非 handler 类
Example fix
public class MyTargetSelectHandler : ITargetSelectHandler { ... } When it happens
Trigger: TargetSelectDispatcher 扫描到的 handler 类没有继承 ITargetSelectHandler 抽象基类
Common situations: See trigger scenarios.
AI-assisted analysis of egametang/ET@5cab01f7a8 (2026-08-13).
Data as JSON: /api/errors/682cad2455ae717d.
Report an issue: GitHub.