Ejemplo n.º 1
0
 public void Set(float x, float y, float z)
 {
     valueObject.X = x;
     valueObject.Y = y;
     valueObject.Z = z;
     Apply = setVector3;
 }
Ejemplo n.º 2
0
 public void Set(Vector4[] values)
 {
     valueArrayOffset        = 0;
     valueArrayCount         = values.Length;
     valueArrayObject.Target = values;
     Apply = setVector4Array;
 }
Ejemplo n.º 3
0
 public void Set(float[] values)
 {
     valueArrayOffset        = 0;
     valueArrayCount         = values.Length;
     valueArrayObject.Target = values;
     Apply = setFloatArray;
 }
Ejemplo n.º 4
0
 public void Set(Matrix4[] values, int count)
 {
     valueArrayOffset        = 0;
     valueArrayCount         = count;
     valueArrayObject.Target = values;
     Apply = setMatrix4Array;
 }
Ejemplo n.º 5
0
 public void Set(Vector4[] values, int offset, int count)
 {
     valueArrayOffset        = offset;
     valueArrayCount         = count;
     valueArrayObject.Target = values;
     Apply = setVector4Array;
 }
Ejemplo n.º 6
0
 public void Set(float[] values, int offset, int count)
 {
     valueArrayOffset        = offset;
     valueArrayCount         = count;
     valueArrayObject.Target = values;
     Apply = setFloatArray;
 }
    private Vector3 ApplyValue(ApplyMethod method, Vector3 originalValue, Vector3 applyValue)
    {
        switch (method)
        {
        case ApplyMethod.DoNotChange:
            // do nothing
            return(originalValue);

        case ApplyMethod.Add:
            return(originalValue + applyValue);

        case ApplyMethod.Multiply:
            return(new Vector3(
                       originalValue.x * applyValue.x,
                       originalValue.y * applyValue.y,
                       originalValue.z * applyValue.z));

        case ApplyMethod.Set:
            return(startupScale);

        default:
            Debug.LogError("Unknown apply method: " + method);
            return(originalValue);
        }
    }
Ejemplo n.º 8
0
 public void Set(ITexture2D resource)
 {
     this.resource.Target = resource;
     if (vertexIndex != -1) video.currentVertexTextures[vertexIndex] = (Texture2D)resource;
     if (pixelIndex != -1) video.currentPixelTextures[pixelIndex] = (Texture2D)resource;
     Apply = setTexture2D;
 }
Ejemplo n.º 9
0
 public void Set(float x, float y, float z)
 {
     valueObject.X = x;
     valueObject.Y = y;
     valueObject.Z = z;
     Apply         = setVector3;
 }
Ejemplo n.º 10
0
 public void Set(float x, float y, float z, float w)
 {
     valueObject.X = x;
     valueObject.Y = y;
     valueObject.Z = z;
     valueObject.W = w;
     Apply = setVector4;
 }
Ejemplo n.º 11
0
        public ShaderVariable(VideoCom video, string name, IntPtr vertexHandle, IntPtr pixelHandel, ShaderModelCom vertexModel, ShaderModelCom pixelModel)
        {
            Name = name;
            com = new ShaderVariableCom(video, vertexHandle, pixelHandel, vertexModel, pixelModel);

            valueArrayObject = new WeakReference(null);
            Apply = setNothing;
        }
Ejemplo n.º 12
0
        public ShaderVariable(VideoCom video, string name, IntPtr vertexHandle, IntPtr pixelHandel, ShaderModelCom vertexModel, ShaderModelCom pixelModel)
        {
            Name = name;
            com  = new ShaderVariableCom(video, vertexHandle, pixelHandel, vertexModel, pixelModel);

            valueArrayObject = new WeakReference(null);
            Apply            = setNothing;
        }
Ejemplo n.º 13
0
 public void Set(float x, float y, float z, float w)
 {
     valueObject.X = x;
     valueObject.Y = y;
     valueObject.Z = z;
     valueObject.W = w;
     Apply         = setVector4;
 }
Ejemplo n.º 14
0
        public ShaderResource(Video video, string name, int vertexIndex, int pixelIndex)
        {
            Name             = name;
            this.video       = video;
            this.vertexIndex = vertexIndex;
            this.pixelIndex  = pixelIndex;

            com      = new ShaderResourceCom(video.com, vertexIndex, pixelIndex);
            Apply    = setNothing;
            resource = new WeakReference(null);
        }
Ejemplo n.º 15
0
        public IApplyMethod RegisterApply <TProjection, TEvent>(Func <TProjection, TEvent, TProjection> apply)
        {
            var application = new ApplyMethod
            {
                ApplyDelegate  = apply,
                EventType      = typeof(TEvent),
                ProjectionType = typeof(TProjection)
            };

            return(RegisterApply(application));
        }
Ejemplo n.º 16
0
        public ShaderResource(Video video, string name, int vertexIndex, int pixelIndex)
        {
            Name = name;
            this.video = video;
            this.vertexIndex = vertexIndex;
            this.pixelIndex = pixelIndex;

            com = new ShaderResourceCom(video.com, vertexIndex, pixelIndex);
            Apply = setNothing;
            resource = new WeakReference(null);
        }
Ejemplo n.º 17
0
 public void Set(ITexture2D resource)
 {
     this.resource.Target = resource;
     if (vertexIndex != -1)
     {
         video.currentVertexTextures[vertexIndex] = (Texture2D)resource;
     }
     if (pixelIndex != -1)
     {
         video.currentPixelTextures[pixelIndex] = (Texture2D)resource;
     }
     Apply = setTexture2D;
 }
Ejemplo n.º 18
0
        public IApplyMethod RegisterApply(ApplyMethod application)
        {
            if (!_applyMethods.ContainsKey(application.ProjectionType))
            {
                _applyMethods.Add(application.ProjectionType, new Dictionary <Type, ApplyMethod>
                {
                    { application.EventType, application }
                });
            }
            else if (!_applyMethods[application.ProjectionType].ContainsKey(application.EventType))
            {
                _applyMethods[application.ProjectionType].Add(application.EventType, application);
            }
            else
            {
                _applyMethods[application.ProjectionType][application.EventType] = application;
            }

            return(application);
        }
Ejemplo n.º 19
0
        public IBuildUpProjection RegisterProjection <T>() where T : new()
        {
            var projectionType    = typeof(T);
            var instance          = new T();
            var projectionMethods =
                projectionType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static);
            var applyMethods = new List <ApplyMethod>();

            foreach (var method in projectionMethods)
            {
                var methodParameters = method.GetParameters();
                if (methodParameters.Length != 2)
                {
                    continue;
                }

                if (methodParameters[0].ParameterType != projectionType)
                {
                    continue;
                }

                if (method.ReturnType != projectionType)
                {
                    continue;
                }

                var eventType = methodParameters[1].ParameterType;
                var appMethod = new ApplyMethod
                {
                    ProjectionType = projectionType,
                    EventType      = eventType,
                    ApplyDelegate  = CreateDelegateFromMethodInfo(projectionType, eventType, method, instance)
                };
                applyMethods.Add(appMethod);
                this.RegisterApply(appMethod);
            }
            var projection = new BuildUpProjection(projectionType, applyMethods);

            _projections.Add(projection);
            return(projection);
        }
Ejemplo n.º 20
0
 public void Set(Matrix4[] values, int count)
 {
     valueArrayOffset = 0;
     valueArrayCount = count;
     valueArrayObject.Target = values;
     Apply = setMatrix4Array;
 }
Ejemplo n.º 21
0
 public void Set(float[] values, int offset, int count)
 {
     valueArrayOffset = offset;
     valueArrayCount = count;
     valueArrayObject.Target = values;
     Apply = setFloatArray;
 }
Ejemplo n.º 22
0
 public void Set(Vector4[] values, int offset, int count)
 {
     valueArrayOffset = offset;
     valueArrayCount = count;
     valueArrayObject.Target = values;
     Apply = setVector4Array;
 }
Ejemplo n.º 23
0
 public void Set(float value)
 {
     valueObject.X = value;
     Apply = setFloat;
 }
Ejemplo n.º 24
0
 public void Set(Vector4 value)
 {
     valueObject.Vector4 = value;
     Apply = setVector4;
 }
Ejemplo n.º 25
0
 public void Set(float value)
 {
     valueObject.X = value;
     Apply         = setFloat;
 }
Ejemplo n.º 26
0
 public void Set(Matrix2 value)
 {
     valueObject.Matrix2 = value;
     Apply = setMatrix2;
 }
Ejemplo n.º 27
0
 public void Set(Vector4 value)
 {
     valueObject.Vector4 = value;
     Apply = setVector4;
 }
Ejemplo n.º 28
0
 public void Set(Vector3 value)
 {
     valueObject.Vector3 = value;
     Apply = setVector3;
 }
Ejemplo n.º 29
0
 public void Set(Matrix3 value)
 {
     valueObject.Matrix3 = value;
     Apply = setMatrix3;
 }
Ejemplo n.º 30
0
 public void Set(Vector2 value)
 {
     valueObject.Vector2 = value;
     Apply = setVector2;
 }
Ejemplo n.º 31
0
 public void Set(float x, float y)
 {
     valueObject.X = x;
     valueObject.Y = y;
     Apply         = setVector2;
 }
Ejemplo n.º 32
0
 public void Set(Vector4[] values)
 {
     valueArrayOffset = 0;
     valueArrayCount = values.Length;
     valueArrayObject.Target = values;
     Apply = setVector4Array;
 }
Ejemplo n.º 33
0
 public void Set(float[] values)
 {
     valueArrayOffset = 0;
     valueArrayCount = values.Length;
     valueArrayObject.Target = values;
     Apply = setFloatArray;
 }
Ejemplo n.º 34
0
 public void Set(Matrix4 value)
 {
     valueObject.Matrix4 = value;
     Apply = setMatrix4;
 }
Ejemplo n.º 35
0
 public void Set(Matrix3 value)
 {
     valueObject.Matrix3 = value;
     Apply = setMatrix3;
 }
Ejemplo n.º 36
0
    private Vector3 ApplyValue(ApplyMethod method, Vector3 originalValue, Vector3 applyValue) {
        switch (method) {
            case ApplyMethod.DoNotChange:
                // do nothing
                return originalValue;

            case ApplyMethod.Add:
                return originalValue + applyValue;

            case ApplyMethod.Multiply:
                return new Vector3(
                    originalValue.x * applyValue.x,
                    originalValue.y * applyValue.y,
                    originalValue.z * applyValue.z);

            case ApplyMethod.Set:
                return startupScale;

            default:
                Debug.LogError("Unknown apply method: " + method);
                return originalValue;
        }
    }
Ejemplo n.º 37
0
 public void Set(Matrix4 value)
 {
     valueObject.Matrix4 = value;
     Apply = setMatrix4;
 }
Ejemplo n.º 38
0
 public void Set(float x, float y)
 {
     valueObject.X = x;
     valueObject.Y = y;
     Apply = setVector2;
 }
Ejemplo n.º 39
0
 public void Set(Vector2 value)
 {
     valueObject.Vector2 = value;
     Apply = setVector2;
 }
Ejemplo n.º 40
0
 public void Set(Vector3 value)
 {
     valueObject.Vector3 = value;
     Apply = setVector3;
 }
Ejemplo n.º 41
0
 public void Apply(object eventObject, object aggregateObject)
 {
     ApplyMethod.Invoke(eventObject, new [] { aggregateObject });
 }
Ejemplo n.º 42
0
 public void Set(Matrix2 value)
 {
     valueObject.Matrix2 = value;
     Apply = setMatrix2;
 }