예제 #1
0
        void HandleVector3ShaderProperty(PropertySheet propertySheet, Vector3ShaderProperty vector3ShaderProperty)
        {
            var vector3PropertyDrawer = new Vector3PropertyDrawer();

            vector3PropertyDrawer.preValueChangeCallback  = () => this._preChangeValueCallback("Change property value");
            vector3PropertyDrawer.postValueChangeCallback = () => this._postChangeValueCallback();

            propertySheet.Add(vector3PropertyDrawer.CreateGUI(
                                  newValue => _changeValueCallback(newValue),
                                  vector3ShaderProperty.value,
                                  "Default",
                                  out var propertyVec3Field));
        }
예제 #2
0
        void HandleMatrix3Property(
            ValueChangedCallback valueChangedCallback,
            PropertySheet propertySheet,
            Matrix4x4 matrix3Property,
            string labelName = "Default")
        {
            var vector3PropertyDrawer = new Vector3PropertyDrawer();

            vector3PropertyDrawer.preValueChangeCallback  = PreValueChangeCallback;
            vector3PropertyDrawer.postValueChangeCallback = PostValueChangeCallback;

            propertySheet.Add(vector3PropertyDrawer.CreateGUI(
                                  newValue =>
            {
                Vector3 row1 = MatrixRowFetchCallback(1);
                Vector3 row2 = MatrixRowFetchCallback(2);
                valueChangedCallback(new Matrix4x4()
                {
                    m00 = newValue.x,
                    m01 = newValue.y,
                    m02 = newValue.z,
                    m03 = 0,
                    m10 = row1.x,
                    m11 = row1.y,
                    m12 = row1.z,
                    m13 = 0,
                    m20 = row2.x,
                    m21 = row2.y,
                    m22 = row2.z,
                    m23 = 0,
                    m30 = 0,
                    m31 = 0,
                    m32 = 0,
                    m33 = 0,
                });
            },
                                  matrix3Property.GetRow(0),
                                  labelName,
                                  out var row0Field
                                  ));

            propertySheet.Add(vector3PropertyDrawer.CreateGUI(
                                  newValue =>
            {
                Vector3 row0 = MatrixRowFetchCallback(0);
                Vector3 row2 = MatrixRowFetchCallback(2);
                valueChangedCallback(new Matrix4x4()
                {
                    m00 = row0.x,
                    m01 = row0.y,
                    m02 = row0.z,
                    m03 = 0,
                    m10 = newValue.x,
                    m11 = newValue.y,
                    m12 = newValue.z,
                    m13 = 0,
                    m20 = row2.x,
                    m21 = row2.y,
                    m22 = row2.z,
                    m23 = 0,
                    m30 = 0,
                    m31 = 0,
                    m32 = 0,
                    m33 = 0,
                });
            },
                                  matrix3Property.GetRow(1),
                                  "",
                                  out var row1Field
                                  ));

            propertySheet.Add(vector3PropertyDrawer.CreateGUI(
                                  newValue =>
            {
                Vector3 row0 = MatrixRowFetchCallback(0);
                Vector3 row1 = MatrixRowFetchCallback(1);
                valueChangedCallback(new Matrix4x4()
                {
                    m00 = row0.x,
                    m01 = row0.y,
                    m02 = row0.z,
                    m03 = 0,
                    m10 = row1.x,
                    m11 = row1.y,
                    m12 = row1.z,
                    m13 = 0,
                    m20 = newValue.x,
                    m21 = newValue.y,
                    m22 = newValue.z,
                    m23 = 0,
                    m30 = 0,
                    m31 = 0,
                    m32 = 0,
                    m33 = 0,
                });
            },
                                  matrix3Property.GetRow(2),
                                  "",
                                  out var row2Field
                                  ));
        }