public BTConditionSingleOperation(ConditionOperationType operation, V targetValue, Func <V> getter) : base() { mTargetValueCondition = GenericValue.CreateConditionValue <V>("", targetValue, operation); mGetter = getter; DebugUtils.Assert(mGetter != null, ""); DebugUtils.Assert(mTargetValueCondition != null, ""); }
public BTConditionSingleOperation(ConditionOperationType operation, BTConditionValueType valueType, object targetValue, MethodInfo getter) : base() { OperationLogic = operation; ValueType = valueType; TargetValue = targetValue; GetterFunc = getter; }
/// <summary> /// 添加条件 /// </summary> /// <param name="parameterName">条件参数名</param> /// <param name="comType">比较类别</param> /// <param name="value">目标值</param> /// <returns></returns> public StateConditions With <T>(string parameterName, ConditionOperationType cot, T value) { // 这里不去重复 // 比如 条件是一个区间 GenericValue condition = GenericValue.CreateConditionValue(parameterName, value, cot); mConditions.Add(condition); return(this); }
/// <summary> /// 添加条件 /// </summary> /// <param name="parameterName">条件参数名</param> /// <param name="comType">比较类别</param> /// <param name="value">目标值</param> /// <returns></returns> public StateConditions With(string parameterName, ConditionOperationType comType, object value) { // 这里不去重复 // 比如 条件是一个区间 StateCondition condition = new StateCondition(); condition.Name = parameterName; condition.Value = value; condition.CompareType = comType; mConditions.Add(condition); return(this); }
public static bool CheckFloat(float a, float b, ConditionOperationType type) { switch (type) { case ConditionOperationType.EQUAL: return(a == b); case ConditionOperationType.GREATER: return(a > b); case ConditionOperationType.GREATER_EQUAL: return(a >= b); case ConditionOperationType.LESS: return(a < b); case ConditionOperationType.LESS_EQUAL: return(a <= b); case ConditionOperationType.NOT_EQUAL: return(a != b); } return(false); }
private BTConditionBoolean RangeBoolean; // || && public BTConditionRangeOperation(BTConditionBoolean rangeBoolean, ConditionOperationType leftOperation, V leftValue, ConditionOperationType rightOperation, V rightValue, Func <V> getter) : base() { LeftOperation = new BTConditionSingleOperation <V, Target>(leftOperation, leftValue, getter); RightOperation = new BTConditionSingleOperation <V, Target>(leftOperation, rightValue, getter); RangeBoolean = rangeBoolean; }
private BTConditionBoolean RangeBoolean; // || && public BTConditionRangeOperation(BTConditionBoolean rangeBoolean, ConditionOperationType leftOperation, object leftValue, ConditionOperationType rightOperation, object rightValue, BTConditionValueType valueType, MethodInfo getter) : base() { LeftOperation = new BTConditionSingleOperation <T>(leftOperation, valueType, leftOperation, getter); RightOperation = new BTConditionSingleOperation <T>(leftOperation, valueType, leftOperation, getter); RangeBoolean = rangeBoolean; }
public static ConditionValue <T> CreateConditionValue <T>(string name, T v, ConditionOperationType cot) { return(new ConditionValue <T>(name, v, cot)); }
public DistanceCondition(ConditionOperationType logic, object targetValue, MethodInfo getter) : base(logic, BTConditionValueType.NUMBER, targetValue, getter) { }
public ConditionValue(string name, T v, ConditionOperationType cot) : base(name, v) { CompareType = cot; }