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)); }
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 )); }