Exemplo n.º 1
0
    public static void InsertAltUnityInTheFirstScene()
    {
        var altUnityRunner =
            UnityEditor.AssetDatabase.LoadAssetAtPath <UnityEngine.GameObject>(
                UnityEditor.AssetDatabase.GUIDToAssetPath(UnityEditor.AssetDatabase.FindAssets("AltUnityRunnerPrefab")[0]));



        PreviousScenePath       = UnityEngine.SceneManagement.SceneManager.GetActiveScene().path;
        SceneWithAltUnityRunner = UnityEditor.SceneManagement.EditorSceneManager.OpenScene(GetFirstSceneWhichWillBeBuilt());

        AltUnityRunner = UnityEditor.PrefabUtility.InstantiatePrefab(altUnityRunner);
        AltUnityRunner altUnityRunnerComponent = ((UnityEngine.GameObject)AltUnityRunner).GetComponent <AltUnityRunner>();

        altUnityRunnerComponent.SocketPortNumber       = AltUnityTesterEditor.EditorConfiguration.serverPort;
        altUnityRunnerComponent.requestEndingString    = AltUnityTesterEditor.EditorConfiguration.requestEnding;
        altUnityRunnerComponent.requestSeparatorString = AltUnityTesterEditor.EditorConfiguration.requestSeparator;
        UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEngine.SceneManagement.SceneManager.GetActiveScene());
        UnityEditor.SceneManagement.EditorSceneManager.SaveOpenScenes();

        try {
            UnityEditor.SceneManagement.EditorSceneManager.OpenScene(PreviousScenePath);
        } catch {
            UnityEngine.Debug.Log("No scene was loaded yet.");
        }
    }
Exemplo n.º 2
0
 void Awake()
 {
     if (_altUnityRunner == null)
     {
         _altUnityRunner = this;
     }
     else
     {
         Destroy(this.gameObject);
     }
 }
Exemplo n.º 3
0
 private System.Collections.Generic.List <UnityEngine.GameObject> GetAllRootObjects()
 {
     System.Collections.Generic.List <UnityEngine.GameObject> objectsToCheck = new System.Collections.Generic.List <UnityEngine.GameObject>();
     for (int i = 0; i < UnityEngine.SceneManagement.SceneManager.sceneCount; i++)
     {
         foreach (UnityEngine.GameObject rootGameObject in UnityEngine.SceneManagement.SceneManager.GetSceneAt(i).GetRootGameObjects())
         {
             objectsToCheck.Add(rootGameObject);
         }
     }
     foreach (var destroyOnLoadObject in AltUnityRunner.GetDontDestroyOnLoadObjects())
     {
         objectsToCheck.Add(destroyOnLoadObject);
     }
     return(objectsToCheck);
 }