private void HopedOff(IWeightableController controller) { if (Model.HopedOff(controller.Model(), Time.time)) { OnHopedOffBy(controller); } }
protected virtual void OnTriggerExit(Collider collider) { IWeightableController controller = collider.gameObject.GetComponent <IWeightableController>(); _logger.Info("OnTriggerExit", collider.gameObject.name + " left"); if (controller != null) { HopedOff(controller); } }
protected virtual void OnHopedOffBy(IWeightableController controller) { _logger.Info("OnHopedOnBy", controller.Name + " hoped off"); if (_timerCoroutine != null) { StopCoroutine(_timerCoroutine); } _timerCoroutine = this.StartCoundownUI(); StartCoroutine(_timerCoroutine); }
protected virtual void OnTriggerEnter(Collider collider) { IWeightableController controller = collider.gameObject.GetComponent <IWeightableController>(); _logger.Info("OnTriggerEnter", collider.gameObject.name + " entered"); if (controller != null) { if (!_triggeredByPlayerOnly || controller == Game.Instance.PrincessCake) { HopedOn(controller); } } }
// To be overriden by elevator. protected virtual void OnHopedOnBy(IWeightableController controller) { _logger.Info("OnHopedOnBy", controller.Name + " hoped on"); foreach (TweenController tweensToOn in TweensOnAtPress) { tweensToOn.TryTweenToOn(true); } foreach (IController ctrl in DisableAtPress) { Game.Instance.Disable(ctrl); } _audio.TryPlaySFX(_onPressed); }
private void HopedOn(IWeightableController controller) { bool isPrincessCake = controller == Game.Instance.PrincessCake; if (Model.HopedOn(controller.Model())) { OnHopedOnBy(controller); if (IsVisible) { Game.Instance.UI.Popup.TryDisplayHopedOnButtonEnoughWeightTip(isPrincessCake); } } else { if (IsVisible) { Game.Instance.UI.Popup.TryDisplayHopedOnButtonNotEnoughWeightTip(isPrincessCake); } } }