private Effect MakeCheckAfter() { var cv = new ConstValue { Value = CheckAfter.Value }; var pv = new Effects.ActorMemberValue { Type = ActorMemberType.vx }; var e = new Effects.SetActorMemberEffect { Type = ActorMemberType.vx, Value = cv, }; if (Value > 0) { return(new FilteredEffect { Filter = new Effects.ValueCompareFilter { Operator = CompareOperator.Greater, Left = pv, Right = cv, }, Effect = e, }); } else { return(new FilteredEffect { Filter = new Effects.ValueCompareFilter { Operator = CompareOperator.Greater, Left = cv, Right = pv, }, Effect = e, }); } }
private Effect MakeCheckBefore(Effect e) { var cmp = StrictCheckBefore ? CompareOperator.Greater : CompareOperator.GreaterOrEqual; var cv = new ConstValue { Value = CheckBefore.Value }; var pv = new Effects.ActorMemberValue { Type = ActorMemberType.vx }; if (Value > 0) { return(new FilteredEffect { Filter = new Effects.ValueCompareFilter { Operator = cmp, Left = cv, Right = pv, }, Effect = e, }); } else { return(new FilteredEffect { Filter = new Effects.ValueCompareFilter { Operator = cmp, Left = pv, Right = cv, }, Effect = e, }); } }