public void UnsubscribeTouchEvents(MechanicBase mechanic) { activeMechanic = null; OnDown -= mechanic.OnDown; OnDrag -= mechanic.OnDrag; OnUp -= mechanic.OnUp; }
public void SubscribeTouchEvents(MechanicBase mechanic) { activeMechanic = mechanic; OnDown += mechanic.OnDown; OnDrag += mechanic.OnDrag; OnUp += mechanic.OnUp; }
public void StartTutorial(MechanicBase mechanic) { if (mechanic.HasATutorialScreen) { tutorialScreen.OnReset(); tutorialScreen.Init(mechanic.TutorialArgs); tutorialScreen.PlayInAnimation().StartCoroutine(); } }
//subs to on mechanic success public void HandleMechanicChange(MechanicBase mechanic) { ActiveLevel.IncreaseMechanicIndex(); if (ActiveLevel.IsEnded) { EventManager.Instance.OnLevelSuccess(new LevelArgs(ActiveLevel, SaveLoadManager.GetLevel())); } else { EventManager.Instance.OnMechanicStart(ActiveLevel.ActiveMechanic); } }
public void OnMechanicSuccess(MechanicBase mechanicBase) => mechanicSuccess?.Invoke(mechanicBase);
public void OnMechanicFail(MechanicBase mechanicBase) => mechanicFail?.Invoke(mechanicBase);
public void OnMechanicStart(MechanicBase mechanicBase) => mechanicStart?.Invoke(mechanicBase);
public void CallMechanicFail(MechanicBase mechanicBase) { mechanicBase.OnFail(); }
public void CallMechanicDeactivate(MechanicBase mechanicBase) { mechanicBase.OnDeactivate(); }
public void CallMechanicActivateSequence(MechanicBase mechanicBase) { mechanicBase.StartCoroutine(mechanicBase.OnActivate()); }