Updates active vectors in input proxy on batch.
This commit is contained in:
@@ -339,6 +339,18 @@ namespace Cryville.Crtr {
|
|||||||
if (vec.Key.Source.Source.Handler != handler) continue;
|
if (vec.Key.Source.Source.Handler != handler) continue;
|
||||||
InputProxyEntry proxy;
|
InputProxyEntry proxy;
|
||||||
if (!_sproxies.TryGetValue(vec.Key.Source.Source, out proxy)) continue;
|
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));
|
Cleanup(proxy.Target, (float)GetSyncedTime(time, handler));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user