Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- using UnityEngine.UI.Windows;
- namespace RB.UI.Modules
- {
- public class InputActionModule : WindowModule
- {
- private System.Action _backButtonCallback;
- private System.Action _pauseButtonCallback;
- private System.Action<InputTypes> _inputTypeChangedCallback;
- public override void OnInit()
- {
- base.OnInit();
- OverInput.OnCurrentInputTypeChanged += InputTypeChangedCallback;
- }
- public override void OnDeinit()
- {
- base.OnDeinit();
- OverInput.OnCurrentInputTypeChanged -= InputTypeChangedCallback;
- }
- public void SetBackButtonCallback(System.Action callback)
- {
- _backButtonCallback = callback;
- }
- public void SetPauseButtonCallback(System.Action callback)
- {
- _pauseButtonCallback = callback;
- }
- public void SetInputTypeChangedCallback(System.Action<InputTypes> callback)
- {
- _inputTypeChangedCallback = callback;
- }
- private void InputTypeChangedCallback(InputTypes inputType)
- {
- if (GetWindow().GetActiveState() == ActiveState.Active && _inputTypeChangedCallback != null)
- _inputTypeChangedCallback(inputType);
- }
- private void Update()
- {
- if (GetWindow().GetActiveState() != ActiveState.Active)
- return;
- if(_backButtonCallback != null)
- _backButtonCallback();
- if (_pauseButtonCallback != null)
- _pauseButtonCallback();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement