Code cleanup.

This commit is contained in:
2023-05-19 00:46:45 +08:00
parent 5bed3cf05b
commit 0d0902735a
2 changed files with 6 additions and 5 deletions

View File

@@ -263,9 +263,9 @@ namespace Cryville.Crtr {
Monitor.Enter(_etor, ref locked);
InputProxyEntry proxy;
if (_sproxies.TryGetValue(id.Source, out proxy)) {
_etor.ContextCascadeInsert();
float ft, tt = (float)GetSyncedTime(frame.Time, id.Source.Handler);
if (!_vect.TryGetValue(id, out ft)) ft = tt;
_etor.ContextCascadeInsert();
if (frame.IsNull) {
_etor.ContextCascadeUpdate(_var_input_vec, PropSrc.Null);
OnInput(id, proxy.Target, ft, tt, true);
@@ -275,8 +275,8 @@ namespace Cryville.Crtr {
_etor.ContextCascadeUpdate(_var_input_vec, _vecsrcs[0]);
OnInput(id, proxy.Target, ft, tt, false);
}
_vect[id] = tt;
_etor.ContextCascadeDiscard();
_vect[id] = tt;
}
}
finally {
@@ -287,12 +287,13 @@ namespace Cryville.Crtr {
static readonly int _var_fv = IdentifierManager.Shared.Request("input_vec_from");
static readonly int _var_tv = IdentifierManager.Shared.Request("input_vec_to");
readonly InputVectorSrc _vecsrc = new InputVectorSrc();
unsafe void OnInput(InputIdentifier id, Identifier target, float ft, float tt, bool nullFlag, int depth = 0) {
if (depth >= MAX_DEPTH) throw new InputProxyException("Input propagation limit reached\nThe ruleset has invalid input definitions");
var def = _ruleset.inputs[target];
if (def.pass != null) {
foreach (var p in def.pass) {
_etor.ContextCascadeInsert();
bool newNullFlag = nullflag;
bool newNullFlag = nullFlag;
if (!newNullFlag) {
_etor.Evaluate(_vecops[depth + 1], p.Value);
newNullFlag = _vecsrcs[depth + 1].IsNull;