/// <summary> /// Constructor /// </summary> private void Awake() { if ((object)_instance == null) { _instance = GetComponent <MobileInput> (); Init(); } }
public static MobileInput GetOrCreateInstance() { if (_instance == null) { var plugin = new GameObject().AddComponent <Plugins>(); _instance = plugin.GetComponent <MobileInput>(); } return(_instance); }
/// <summary> /// Init and save new MobileInput /// </summary> /// <param name="receiver">Receiver</param> /// <returns>Id</returns> public static int Register(MobileInputReceiver receiver) { //Build Instance _instance = GetOrCreateInstance(); if (_instance != null) { int index = _instance._counter; _instance._counter++; _instance._inputs[index] = receiver; return(index); } return(-1); }
/// <summary> /// Send data to plugin /// </summary> /// <param name="data">Data</param> protected void Execute(JsonObject data) { MobileInput.Execute(_id, data); }
/// <summary> /// Action on destroy /// </summary> protected virtual void OnDestroy() { MobileInput.RemoveReceiver(_id); }
/// <summary> /// Init input and register interface /// </summary> protected virtual void Start() { _id = MobileInput.Register(this); }