Beispiel #1
0
    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;
        }
    }
Beispiel #2
0
    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;
    }