Fix input config.

This commit is contained in:
2022-11-15 12:10:54 +08:00
parent 8b29cd2893
commit fcc9935325

View File

@@ -43,8 +43,10 @@ namespace Cryville.Crtr {
if (_use[proxy.Target] > 0)
throw new InvalidOperationException("Input already assigned");
if (proxy.Source != null) {
proxy.Source.Value.Handler.OnInput -= OnInput; // Prevent duplicated hooks, no exception will be thrown
proxy.Source.Value.Handler.OnInput += OnInput;
if (_judge != null) {
proxy.Source.Value.Handler.OnInput -= OnInput; // Prevent duplicated hooks, no exception will be thrown
proxy.Source.Value.Handler.OnInput += OnInput;
}
_tproxies.Add(proxy.Target, proxy);
_sproxies.Add(proxy.Source.Value, proxy);
IncrementUseRecursive(name);
@@ -53,7 +55,7 @@ namespace Cryville.Crtr {
}
void Remove(InputProxyEntry proxy) {
var name = proxy.Target;
proxy.Source.Value.Handler.OnInput -= OnInput;
if (_judge != null) _tproxies[name].Source.Value.Handler.OnInput -= OnInput;
_sproxies.Remove(_tproxies[name].Source.Value);
_tproxies.Remove(name);
DecrementUseRecursive(name);