//----------------------------------------------------------------- // USED //----------------------------------------------------------------- protected virtual void InteractableObjectUsed(object sender, InteractableObjectEventArgs e) { isUsed = true; SGPushStartedEvent.RegisterListener(OnSGPushStarted); SGPushChangedEvent.RegisterListener(OnSGPushChanged); SGPushEndedEvent.RegisterListener(OnSGPushEnded); controller = e.interactingObject.transform; //log.InfoMS("Controller: " + controller.name); //log.InfoMS("Button: " + gameObject.name);//(sender as GameObject).name); //log.InfoMS("<Color=red>\n+++Used+++</Color>"); atEnd = false; }
/// <summary> /// Additional methods can be called here during button state changes. e.g. play a sound. /// The listeners for the Skeleton Gestures are managed here. /// </summary> /// <param name="state">the standard button selection states.</param> /// <param name="instant">will use fade tiem or transition instantly.</param> protected override void DoStateTransition(SelectionState state, bool instant) { //log.InfoMS($"<Color=cyan>state transition </Color> <b>{state}</b> <Color=cyan>of </Color><Color=green>{gameObject.name}</Color>"); switch (state) { case SelectionState.Normal: SGPushStartedEvent.UnregisterListener(OnSGPushStarted); SGPushEndedEvent.UnregisterListener(OnSGPushEnded); break; case SelectionState.Highlighted: SGPushStartedEvent.RegisterListener(OnSGPushStarted); break; case SelectionState.Pressed: SGPushStartedEvent.UnregisterListener(OnSGPushStarted); SGPushEndedEvent.RegisterListener(OnSGPushEnded); break; case SelectionState.Selected: break; case SelectionState.Disabled: SGPushStartedEvent.UnregisterListener(OnSGPushStarted); SGPushEndedEvent.UnregisterListener(OnSGPushEnded); break; default: SGPushStartedEvent.UnregisterListener(OnSGPushStarted); SGPushEndedEvent.UnregisterListener(OnSGPushEnded); break; } base.DoStateTransition(state, instant); }