/// <summary> /// Creates GUI elements for fields specific to the plane collider. /// </summary> protected void BuildGUI(PlaneCollider collider) { normalField.OnChanged += x => { normal = x; collider.Normal = x; MarkAsModified(); }; normalField.OnFocusLost += ConfirmModify; normalField.OnConfirmed += ConfirmModify; distanceField.OnChanged += x => { collider.Distance = x; MarkAsModified(); }; distanceField.OnFocusLost += ConfirmModify; distanceField.OnConfirmed += ConfirmModify; Layout.AddElement(normalField); Layout.AddElement(distanceField); normal = collider.Normal; base.BuildGUI(collider); }
/// <summary> /// Updates all GUI elements from current values in the collider. /// </summary> /// <param name="collider">Collider to update the GUI from.</param> protected void Refresh(PlaneCollider collider) { if (!normalField.HasInputFocus) normalField.Value = normal; if (!distanceField.HasInputFocus) distanceField.Value = collider.Distance; base.Refresh(collider); }