6 #if UNITY_2017_2_OR_NEWER 20 public bool SetChildrenInactiveWhenDetached =
true;
23 protected Vector3 PositionOffset = Vector3.zero;
26 protected Vector3 RotationOffset = Vector3.zero;
29 protected Vector3 ScaleOffset = Vector3.one;
32 protected bool SetScaleOnAttach =
false;
34 public bool IsAttached {
get {
return transform.parent == null; } }
41 SetChildrenActive(
false);
49 transform.parent = ElementTransform;
50 transform.localPosition = PositionOffset;
51 transform.localEulerAngles = RotationOffset;
55 transform.localScale = ScaleOffset;
58 SetChildrenActive(
true);
61 OnAttachToController();
66 OnDetachFromController();
68 SetChildrenActive(
false);
70 transform.parent = null;
73 private void SetChildrenActive(
bool isActive)
75 if (SetChildrenInactiveWhenDetached)
77 foreach (Transform child
in transform)
79 child.gameObject.SetActive(isActive);
88 #if UNITY_WSA && UNITY_2017_2_OR_NEWER