示例#1
0
 public DoubleEffector(string fieldName
                       , string effectorName
                       , EffectorFunction <double> func
                       , EffectorOperator <double> op
                       , EffectorValueType valueType = EffectorValueType.RelativeToStart
                       , bool reusable = false)
     : base(fieldName, effectorName, func, op, valueType, reusable)
 {
 }
 public XCoordEffector(string fieldName
                       , string effectorName
                       , EffectorFunction <float> func
                       , Func <float, float, float> op
                       , EffectorValueType valueType = EffectorValueType.RelativeToStart
                       , bool reusable = false)
     : base(fieldName, effectorName, func, op, valueType, reusable)
 {
 }
 public XCoordEffector(string fieldName
                       , string effectorName
                       , EffectorFunction <float> func
                       , EffectorOperatorType opType = EffectorOperatorType.InPlace
                       , EffectorValueType valueType = EffectorValueType.RelativeToStart
                       , bool reusable = false)
     : base(fieldName, effectorName, func, opType, valueType, reusable)
 {
 }
示例#4
0
 public VectorEffector(string fieldName
                       , string effectorName
                       , EffectorFunction <Vector2> func
                       , Func <Vector2, Vector2, Vector2> op
                       , EffectorValueType valueType = EffectorValueType.RelativeToStart
                       , bool reusable = false)
     : base(fieldName, effectorName, func, op, valueType, reusable)
 {
 }
 public CoerciveEffector(string propertyName
                         , string effectorName
                         , EffectorFunction <T2> func
                         , Func <T2, T2, T2> op
                         , EffectorValueType valueType = EffectorValueType.RelativeToStart
                         , bool reusable = false)
     : this(propertyName
            , effectorName
            , func
            , new EffectorOperator <T2>(op)
            , valueType
            , reusable)
 {
 }
        public CoerciveEffector(string propertyName
                                , string effectorName
                                , EffectorFunction <T2> func
                                , EffectorOperator <T2> op
                                , EffectorValueType valueType = EffectorValueType.RelativeToStart
                                , bool reusable = false)
            : base()
        {
            EffectedPropertyName = propertyName;
            EffectorName         = effectorName;
            Func = func;

            ValueType = valueType;
            Op        = op;

            Initialized = false;
            Reusable    = reusable;

            inPlace_and_relativeToStart =
                op.InternalType.HasValue &&
                op.InternalType.Value == EffectorOperatorType.InPlace &&
                valueType == EffectorValueType.RelativeToStart;
        }