internal void TriggerRS(IRSRuntimeEntity inEntity, RSTriggerId inTriggerId, RSValue inArgument, bool inbForce) { if (!inbForce && inEntity.IsLocked()) { return; } ExecutionScope scope = CreateScope(inEntity, inArgument, 0); using (new SharedRef <ExecutionScope>(scope)) { inEntity?.RuleTable?.EvaluateTrigger(inTriggerId, scope); } }
static private void ToggleLocked(this IRSRuntimeEntity inEntity) { inEntity.SetLocked(!inEntity.IsLocked()); }
static private bool IsLocked(this IRSRuntimeEntity inEntity) { return(inEntity.IsLocked()); }