@startuml class EnableIfTest { + enable1 : bool + enable2 : bool } class EnableIfNest1 { + enable1 : bool + enable2 : bool + Enable1 : bool <> + Enable2 : bool <> + enableIfAll : int + enableIfAny : int + enableIfEnum : int + enableIfEnumFlag : int + enableIfEnumFlagMulti : int } class EnableIfNest2 { + enable1 : bool + enable2 : bool + GetEnable1() : bool + GetEnable2() : bool + GetEnum1() : EnableIfEnum + GetEnum2() : EnableIfEnumFlag } enum EnableIfEnum { Case0, Case1, Case2, } enum EnableIfEnumFlag { Flag0= 1, Flag1= 2, Flag2= 4, Flag3= 8, } MonoBehaviour <|-- EnableIfTest EnableIfTest --> "enum1" EnableIfEnum EnableIfTest --> "enum2" EnableIfEnumFlag EnableIfTest --> "nest1" EnableIfNest1 EnableIfNest1 --> "enum1" EnableIfEnum EnableIfNest1 --> "enum2" EnableIfEnumFlag EnableIfNest1 --> "Enum1" EnableIfEnum EnableIfNest1 --> "Enum2" EnableIfEnumFlag EnableIfNest1 --> "nest2" EnableIfNest2 EnableIfNest2 --> "enum1" EnableIfEnum EnableIfNest2 --> "enum2" EnableIfEnumFlag EnableIfNest2 o-> "enableIfAll" Vector2 EnableIfNest2 o-> "enableIfAny" Vector2 EnableIfNest2 o-> "enableIfEnum" Vector2 EnableIfNest2 --> "enableIfEnumFlag" Vector2 EnableIfNest2 --> "enableIfEnumFlagMulti" Vector2 @enduml