Beispiel #1
0
    /// <summary>
    /// 退出
    /// </summary>
    public void Quitting()
    {
        if (m_hasQuit)
        {
            return;
        }

        m_event.Quitting();
        m_hasQuit = true;

        if (Event.QuittingScreen2DEvent == null || Event.QuittingScreen2DEvent())
        {
            //GCSeries.FCore.SetScreen2D();
            RuntimeArgs runtimeArgs = Data.RuntimeArgs;
            runtimeArgs.SwitchScreenState(runtimeArgs.MainDevice, false);
            runtimeArgs.SwitchScreenState(runtimeArgs.ProjectionDevice, false);
#if !UNITY_EDITOR
            ShowWindow(Data.MainWindowHandle, 2);
#endif
        }

        if (Data.InitIsCloneProjection)
        {
            F3Device.Screen.ScreenHelper.SetProjection(F3Device.Screen.ScreenHelper.SDC_TOPOLOGY_CLONE);
        }
    }
        /// <summary>
        /// 更新运行数据
        /// </summary>
        void SetRuntimArgs()
        {
            bool temp_is3D = false;

            switch (_curMode)
            {
            case ScreenManger.DualScreenMode.VR:
                temp_is3D = true;
                break;

            case ScreenManger.DualScreenMode.VR_2D:
                temp_is3D = false;
                break;

            case ScreenManger.DualScreenMode.AR_2D:
                temp_is3D = false;
                break;

            default:
                break;
            }

            RuntimeArgs arg = Global.Instance.Data.RuntimeArgs;

            arg.SwitchScreenState(arg.ProjectionDevice, temp_is3D);
        }