Ejemplo n.º 1
0
        /// <summary>
        /// ビルド時にシーンが参照されたときのコールバック
        /// IProcessSceneWithReportのメソッド
        /// </summary>
        /// <param name="scene">参照されたシーン</param>
        /// <param name="report">ビルドレポート</param>
        public void OnProcessScene(Scene scene, BuildReport report)
        {
            Debug.Log("OnProcessScene:" + scene.path);
            // 処理中の場合のみ処理
            if (!isProcessing)
            {
                return;
            }

            var cameras = LocalPreviewToolUtility.GetComponentsInActiveScene <Camera>(false);

            foreach (var camera in cameras)
            {
                LocalPreviewToolUtility.DeactivateCameraIfUnnecessary(camera);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// EditorWindowのGUIを実装する
        /// </summary>
        private void OnGUI()
        {
            targetScene = SceneManager.GetActiveScene().path;

            // 自身のSerializedObjectを取得
            var so = new SerializedObject(this);

            so.Update();

            GUILayout.Label("Target Scene: " + targetScene);

            // isPlayingが真なら要素を操作不可にする
            EditorGUI.BeginDisabledGroup(EditorApplication.isPlaying);

            so.ApplyModifiedProperties();

            // Windowsの時だけボタンを表示する
            if (Application.platform == RuntimePlatform.WindowsEditor)
            {
                GUILayout.Space(10);
                if (GUILayout.Button("Preview on PC VR"))
                {
                    Setup();
                    var builder = new LocalPreviewToolBuilder(pcUtils, targetScene);
                    builder.TestBuildAndRunScene();
                    Dispose();
                    status = "Done.";
                }
            }

            GUILayout.Space(10);
            if (GUILayout.Button("Preview on Android VR"))
            {
                Setup();
                var builder = new LocalPreviewToolBuilder(androidUtils, targetScene);
                builder.TestBuildAndRunScene();
                Dispose();
                status = "Done.";
            }

            // Windowsの時だけボタンを表示する
            if (Application.platform == RuntimePlatform.WindowsEditor)
            {
                GUILayout.Space(10);
                if (GUILayout.Button("Preview for PC & Android VR"))
                {
                    Setup();
                    var builder = new LocalPreviewToolBuilder(platformUtils, targetScene);
                    builder.TestBuildAndRunScene();
                    Dispose();
                    status = "Done.";
                }
            }

            // Android adb WiFi接続
            GUILayout.Label("adb over WiFi");
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Connect"))
            {
                Debug.Log("Connect.");
                Setup();
                LocalPreviewToolUtility.ConnectOverWiFi(androidUtils);
                status = "Connect.";
            }
            if (GUILayout.Button("Disconnect"))
            {
                Debug.Log("Disconnect.");
                Setup();
                LocalPreviewToolUtility.DisonnectOverWiFi(androidUtils);
                status = "Disconnect.";
            }

            EditorGUILayout.EndHorizontal();

            EditorGUI.EndDisabledGroup();

            GUILayout.Label("Status: " + status);
        }