Ejemplo n.º 1
0
        public void InvokeCompletion()
        {
            EventBinder <Action> onDispose = new EventBinder <Action>(e => OnSoftDispose += e, e => OnSoftDispose -= e);

            onDispose.IsOneTime = true;
            onDispose.SetHandler(() =>
            {
                OnCompletion?.Invoke();

                // Wait for completion timeout to auto navigate to results.
                SynchronizedTimer autoExitTimer = new SynchronizedTimer()
                {
                    Limit = 2f,
                };
                autoExitTimer.OnFinished += Model.ExitGameToResult;
                autoExitTimer.Start();
            });

            SynchronizedTimer initialTimer = new SynchronizedTimer()
            {
                Limit = 0.5f
            };

            initialTimer.OnFinished += InvokeSoftDispose;
            initialTimer.Start();
        }
Ejemplo n.º 2
0
        public void InvokeRetry()
        {
            EventBinder <Action> onDispose = new EventBinder <Action>(e => OnSoftDispose += e, e => OnSoftDispose -= e);

            onDispose.IsOneTime = true;
            onDispose.SetHandler(() =>
            {
                OnRetry?.Invoke();
                InvokeSoftInit();
            });
            InvokeSoftDispose();
        }
Ejemplo n.º 3
0
        public void InvokeForceQuit()
        {
            EventBinder <Action> onDispose = new EventBinder <Action>(e => OnSoftDispose += e, e => OnSoftDispose -= e);

            onDispose.IsOneTime = true;
            onDispose.SetHandler(() =>
            {
                OnForceQuit?.Invoke();
                Model.ExitGameForceful();
            });
            InvokeSoftDispose();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Event called on selecting offset option.
        /// </summary>
        private void OnOffsetOption()
        {
            // Show the offset overlay.
            OffsetsOverlay overlay = OverlayNavigator.Show <OffsetsOverlay>();

            // Bind temporary hide event listener to overlay.
            EventBinder <Action> closeBinder = new EventBinder <Action>(
                e => overlay.OnHide += e,
                e => overlay.OnHide -= e
                );

            closeBinder.IsOneTime = true;

            // Show pause overlay once the offset overlay has been closed.
            closeBinder.SetHandler(() => OverlayNavigator.Show <PauseOverlay>());
        }