public void TestComplexParams() { var properties = new ShaderMixinParameters(); ShaderMixinParameters usedProperties; // Populate the the properties used by the mixin var subParam1 = new Test1.SubParameters(); var subParameters = new Test1.SubParameters[4]; for (int i = 0; i < subParameters.Length; i++) { subParameters[i] = new Test1.SubParameters(); } properties.Set(Test1.TestParameters.subParam1, subParam1); properties.Set(Test1.TestParameters.subParameters, subParameters); // Generate the mixin with default properties var mixin = GenerateMixin("DefaultComplexParams", properties, out usedProperties); mixin.CheckMixin("A", "B", "C", "D"); // Modify properties in order to modify mixin for (int i = 0; i < subParameters.Length; i++) { subParameters[i].Set(Test1.SubParameters.param1, (i & 1) == 0); } subParam1.Set(Test1.SubParameters.param2, 2); mixin = GenerateMixin("DefaultComplexParams", properties, out usedProperties); mixin.CheckMixin("A", "B", "C", "C1", "C3"); }
public void TestComplexParams() { var properties = new ShaderMixinParameters(); // Populate the the properties used by the mixin var subParam1 = new Test1.SubParameters(); var subParameters = new Test1.SubParameters[4]; for (int i = 0; i < subParameters.Length; i++) { subParameters[i] = new Test1.SubParameters(); } properties.Set(Test1.TestParameters.subParam1, subParam1); properties.Set(Test1.TestParameters.subParameters, subParameters); // Generate the mixin with default properties var mixin = GenerateMixin("DefaultComplexParams", properties); mixin.CheckMixin("A", "B", "C", "D"); // Modify properties in order to modify mixin for (int i = 0; i < subParameters.Length; i++) { subParameters[i].Set(Test1.SubParameters.param1, (i & 1) == 0); } subParam1.Set(Test1.SubParameters.param2, 2); mixin = GenerateMixin("DefaultComplexParams", properties); mixin.CheckMixin("A", "B", "C", "C1", "C3"); }