@startuml class DisableIfTest { + disable1 : bool + disable2 : bool } class DisableIfNest1 { + disable1 : bool + disable2 : bool + Disable1 : bool <> + Disable2 : bool <> + disableIfAll : int = 1 + disableIfAny : int = 2 + disableIfEnum : int = 3 + disableIfEnumFlag : int + disableIfEnumFlagMulti : int } class DisableIfNest2 { + disable1 : bool + disable2 : bool + GetDisable1() : bool + GetDisable2() : bool + GetEnum1() : DisableIfEnum + GetEnum2() : DisableIfEnumFlag } enum DisableIfEnum { Case0, Case1, Case2, } enum DisableIfEnumFlag { Flag0= 1, Flag1= 2, Flag2= 4, Flag3= 8, } MonoBehaviour <|-- DisableIfTest DisableIfTest --> "enum1" DisableIfEnum DisableIfTest --> "enum2" DisableIfEnumFlag DisableIfTest --> "nest1" DisableIfNest1 DisableIfNest1 --> "enum1" DisableIfEnum DisableIfNest1 --> "enum2" DisableIfEnumFlag DisableIfNest1 --> "Enum1" DisableIfEnum DisableIfNest1 --> "Enum2" DisableIfEnumFlag DisableIfNest1 --> "nest2" DisableIfNest2 DisableIfNest2 --> "enum1" DisableIfEnum DisableIfNest2 --> "enum2" DisableIfEnumFlag DisableIfNest2 o-> "enableIfAll" Vector2 DisableIfNest2 o-> "enableIfAny" Vector2 DisableIfNest2 o-> "enableIfEnum" Vector2 DisableIfNest2 --> "disableIfEnumFlag" Vector2 DisableIfNest2 --> "disableIfEnumFlagMulti" Vector2 @enduml