@@ -17,13 +17,13 @@ namespace Giezi.Tools
1717{
1818 public static class SOVariantHelper < T > where T : ScriptableObject
1919 {
20- public static bool SetParent ( T child , T parent )
20+ public static bool SetParent ( T child , T parent , bool setToParentValue = true )
2121 {
2222 AssertIsSOVariant ( parent ) ;
2323 AssertIsSOVariant ( child ) ;
2424
2525 SOVariant < T > soVariant = new SOVariant < T > ( child ) ;
26- return soVariant . SetParent ( parent ) ;
26+ return soVariant . SetParent ( parent , setToParentValue ) ;
2727 }
2828
2929 public static void ChangeFieldOverrideState ( T target , string name , bool isOverridden )
@@ -51,25 +51,25 @@ public static void SetFieldOverrideAndSetValue(T target, string name, object val
5151 soVariant . ChangeValue ( name , value ) ;
5252 }
5353
54- public static void SetParentOverrideValue ( T child , T parent , string name , object value )
54+ public static void SetParentOverrideValue ( T child , T parent , string name , object value , bool setToParentValue = true )
5555 {
5656 AssertIsSOVariant ( parent ) ;
5757 AssertIsSOVariant ( child ) ;
5858
5959 SOVariant < T > soVariant = new SOVariant < T > ( child ) ;
60- soVariant . SetParent ( parent ) ;
60+ soVariant . SetParent ( parent , setToParentValue ) ;
6161
6262 soVariant . NotifyOverrideChangeInState ( name , true ) ;
6363 soVariant . ChangeValue ( name , value ) ;
6464 }
6565
66- public static void SetParentOverrideValues ( T child , T parent , Dictionary < string , object > values )
66+ public static void SetParentOverrideValues ( T child , T parent , Dictionary < string , object > values , bool setToParentValue = true )
6767 {
6868 AssertIsSOVariant ( parent ) ;
6969 AssertIsSOVariant ( child ) ;
7070
7171 SOVariant < T > soVariant = new SOVariant < T > ( child ) ;
72- soVariant . SetParent ( parent ) ;
72+ soVariant . SetParent ( parent , setToParentValue ) ;
7373
7474 foreach ( KeyValuePair < string , object > value in values )
7575 {
0 commit comments