Updates active vectors in input proxy on batch.

This commit is contained in:
2023-05-19 23:58:50 +08:00
parent b30d35c937
commit 3d75cd9a11

View File

@@ -339,6 +339,18 @@ namespace Cryville.Crtr {
if (vec.Key.Source.Source.Handler != handler) continue;
InputProxyEntry proxy;
if (!_sproxies.TryGetValue(vec.Key.Source.Source, out proxy)) continue;
float ft, tt = (float)GetSyncedTime(time, handler);
if (!_vect.TryGetValue(vec.Key.Source, out ft)) ft = tt;
if (ft < tt) {
_etor.ContextCascadeInsert();
_vecsrcs[0].Set(vec.Value);
_etor.ContextCascadeUpdate(_var_input_vec, _vecsrcs[0]);
OnInput(vec.Key.Source, proxy.Target, ft, tt, false);
_etor.ContextCascadeDiscard();
_vect[vec.Key.Source] = tt;
}
Cleanup(proxy.Target, (float)GetSyncedTime(time, handler));
}
}