public void Dispose() { PlatformChecker.Platform platform = PlatformChecker.GetPlatform(); switch (platform) { case PlatformChecker.Platform.Editor: default: TimeNotifyingMonoBehaviour.Instance.RemoveCallbackOnTimePassed(OnTimer); break; case PlatformChecker.Platform.iOS: Background.StopTask(); timer?.Dispose(); break; } }
public BackgroundTimerState() { PlatformChecker.Platform platform = PlatformChecker.GetPlatform(); switch (platform) { case PlatformChecker.Platform.Editor: default: TimeNotifyingMonoBehaviour.Instance.AddCallbackOnTimePassed(OnTimer); break; case PlatformChecker.Platform.iOS: timer?.Dispose(); timer = new Timer(new TimerCallback(state => OnTimer(frequencySeconds)), null, 0, frequencySeconds * 1000); Background.StartTask(); break; } Application.runInBackground = true; }