Example #1
0
        protected override void Update()
        {
            if (input.AssignMode)
            {
                ignoreInputCount = 0;
            }
            else
            {
                ignoreInputCount++;
                if (ignoreInputCount >= 60)
                {
                    ignoreInputCount = 60;
                }
            }

            var           mouseInfo = mouseManager.GetMouseEvents();
            InputInfoBase inputInfo = null;

            if (IsWindowActive)
            {
                input.GetInput(KeyConfigManager.CurrentConfig.Keys,
                               KeyConfigManager.CurrentConfig.Buttons, out inputInfo);
            }
            if (inputInfo == null)
            {
                inputInfo = EmptyInputInfo.Instance;
            }
            if (ignoreInputCount < 30)
            {
                inputInfo = EmptyInputInfo.Instance;
            }

            if (Form.IsCloseRequired && debugMode && !TextBoxEnabled)
            {
                Exit();
            }

            if (!Form.IsCloseRequired && inputInfo.IsPressed(ButtonType.Home) && !Input.AssignMode && !TextBoxEnabled)
            {
                Form.MainForm.Close();
            }

            if (!Form.IsFirstCloseRequierd && inputInfo.IsPressed(ButtonType.Home))
            {
                CancelExit();
            }

            if (sceneManager != null)
            {
                if (!Form.IsCloseRequired)
                {
                    gaussianFilter.Disperson = 0;
                    sceneManager.Update(inputInfo, mouseInfo, sound);
                }
                else
                {
                    sceneManager.Update(EmptyInputInfo.Instance, MouseInfo.Empty, sound);
                    if (currentOverray != null)
                    {
                        currentOverray.Update(Form.IsFirstCloseRequierd, inputInfo, mouseInfo);
                    }
                    gaussianFilter.Disperson += 1;
                    if (gaussianFilter.Disperson >= 100)
                    {
                        gaussianFilter.Disperson = 100;
                    }
                    Form.IsFirstCloseRequierd = false;
                }
            }

            if (goHome)
            {
                sceneManager.PopToHome();
                goHome = false;
                isHome = true;
                CancelExit();

                if (!debugMode)
                {
                    (sceneManager.CurrentScene as HomeScene).ComeHome();
                }
            }

            notifyControl.Update();
            movieVolumeSprite.Update(mouseInfo);
            timerManager.Update();
            ThreadManager.Instance.Update();
        }