component WebXRViewModel { WebXRView m_View; WebXRModel m_Model; bool m_PrevIsVRMode; public WebXRViewModel() { m_View = new WebXRView(); m_Model = new WebXRModel(); m_PrevIsVRMode = false; } public void Update() { bool CurIsVRMode = hsSystemIsVRMode(); if(CurIsVRMode && !m_PrevIsVRMode) { // WebXRモード開始 EnterWebXRMode(); } else if(!CurIsVRMode && m_PrevIsVRMode) { // WebXRモード終了 ExitWebXRMode(); } m_PrevIsVRMode = CurIsVRMode; if(hsSystemIsVRMode()) { // VRでマイク切り替えは現状不要のためレイヤーが開いたことを監視して開いていれば閉じる if(hsCanvasGetLayerShow("QuickMicProperty")) { m_View.ShowQuickMicProperty(false); } // トースト通知レイヤーのShowがfalseの場合トーストが表示されないため強制的に表示する if(!hsCanvasGetLayerShow("ToastNotice")) { m_View.ShowToastLayer(true); } } } public void EnterWebXRMode() { // WebXRモード用のHUD表示 m_View.ShowWebXRHUD(); m_View.ShowToastLayer(true); m_View.ShowToastEnterWebXRMode(); m_View.ResetVoiceIconColor(); // クッキーで「今後表示しない」が選択されていなければチュートリアルを表示する string IsShowWebXRTutorialStr = hel_get_cookie_onEmptyStr("NotShowAgainWebXRTutorial"); if(IsShowWebXRTutorialStr != "true") { m_View.ShowWebXRTutorial(); } LayerBundle textchatlayer = hsLayerGet("textchat_common"); if (textchatlayer !== null) { textchatlayer.CallComponentMethod("TCViewModel", "EnterWebXRMode", ""); } } public void ExitWebXRMode() { // 通常モードのHUD表示 m_View.ShowNormalHUD(); LayerBundle textchatlayer = hsLayerGet("textchat_common"); if (textchatlayer !== null) { textchatlayer.CallComponentMethod("TCViewModel", "ExitWebXRMode", ""); } } // メニュー → ヘルプボタン押下時呼び出される public void ClickSettingTabHelpOff() { // WebXRモード中かどうか if(hsSystemIsVRMode()) { m_View.ShowWebXRHelp(); } else { m_View.ShowNormalHelp(); } } // チュートリアルの「今後表示しない」チェックマークOFFが押された時に呼ばれる public void ClickTutorialCheckOff() { // クッキーにチュートリアルを今後表示しない事を保存 m_Model.SetCookieNotShowAgainTutorial(); } // チュートリアルの「今後表示しない」チェックマークONが押された時に呼ばれる public void ClickTutorialCheckOn() { } // FPSカメラボタンを押した際に出てくるダイアログで決定を押した際に呼ばれる public void ClickConfirmFPSCameraDialog() { // 通常モードのHUD表示 m_View.ShowNormalHUD(); // FPSカメラモードに変更 hsCameraSetFPSMode(true); } // TPSカメラボタンを押した際に出てくるダイアログで決定を押した際に呼ばれる public void ClickConfirmTPSCameraDialog() { // 通常モードのHUD表示 m_View.ShowNormalHUD(); // TPSカメラモードに変更 hsCameraSetFPSMode(false); } public void OpenWebXRHUD() { // WebXRモードのHUDを開く m_View.ShowWebXRHUD(); } }