// Event publisher public virtual void OnTriggerReleased(ControllerInteractionEventArgs e) { if (TriggerReleased != null) { TriggerReleased(this, e); } unityTriggerReleased.Invoke(e); }
/// <summary> /// Close the menu /// </summary> /// <param name="controller"></param> public void Close() { Debug.Log("Closing selectable menu: " + name); gameObject.SetActive(false); if (_activeController != null) { _activeController.RemoveActives(gameObject); } OnClose.Invoke(_activeController); }
/// <summary> /// Place the menu around the given controller /// </summary> /// <param name="go"></param> public void Open(Controller controller) { gameObject.SetActive(true); _activeController = controller; controller.SetActive(gameObject); // Select the default element SliderNavigation.Select(DefaultSelected); OnOpen.Invoke(_activeController); }
/// <summary> /// Registers this controller when the component starts /// Note: /// We do this on start so handlers can setup in their Awake functions /// </summary> protected virtual void Start() { ControllerManager.Instance.RegisterController(this); OnStart.Invoke(this); }
protected virtual void Awake() { OnAwake.Invoke(this); }
void RaiseControllerEvent(ControllType controllType) { ControllerEvent?.Invoke(this, new ControllerEventArgs(controllType)); }