public void Awake() { networkManager = GameObject.Find("NetworkManager").GetComponent <UWBNetworkingPackage.NetworkManager>(); #if UNITY_WSA_10_0 #elif UNITY_ANDROID gameObject.AddComponent <ASL.Manipulation.Controllers.Android.BehaviorDifferentiator>(); #else UWBNetworkingPackage.NodeType platform = UWBNetworkingPackage.Config.NodeType; switch (platform) { case UWBNetworkingPackage.NodeType.PC: gameObject.AddComponent <ASL.Manipulation.Controllers.PC.Mouse>(); gameObject.AddComponent <ASL.Manipulation.Controllers.PC.Keyboard>(); break; case UWBNetworkingPackage.NodeType.Kinect: break; case UWBNetworkingPackage.NodeType.Vive: //gameObject.AddComponent<ASL.Manipulation.Controllers.Vive.ControllerUIManager>(); break; case UWBNetworkingPackage.NodeType.Oculus: break; default: Debug.LogWarning("Unsupported platform encountered"); break; } #endif }
// Use this for initialization void Start() { List <string> hololensOptions = GetHololensOptions(); List <string> androidOptions = GetAndroidOptions(); List <string> PCOptions = GetPCOptions(); List <string> accountedForOptions = new List <string>(); accountedForOptions.AddRange(hololensOptions); accountedForOptions.AddRange(androidOptions); accountedForOptions.AddRange(PCOptions); UnityEngine.UI.Dropdown dropdown = gameObject.GetComponent <UnityEngine.UI.Dropdown>(); dropdown.ClearOptions(); #if UNITY_WSA_10_0 dropdown.AddOptions(hololensOptions); #elif UNITY_ANDROID dropdown.AddOptions(androidOptions); #else dropdown.AddOptions(PCOptions); #endif DisplayRestrictedOptions(); DisplayUnaccountedForOptions(accountedForOptions); // Set platform string platformString = dropdown.options[dropdown.value].text; platform = (UWBNetworkingPackage.NodeType)(System.Enum.Parse(typeof(UWBNetworkingPackage.NodeType), platformString)); }
// Update is called once per frame void Update() { // Set platform UnityEngine.UI.Dropdown dropdown = gameObject.GetComponent <UnityEngine.UI.Dropdown>(); string platformString = dropdown.options[dropdown.value].text; platform = (UWBNetworkingPackage.NodeType)(System.Enum.Parse(typeof(UWBNetworkingPackage.NodeType), platformString)); }
/// <summary> /// When Awake, NetworkManager will add the correct Launcher script /// </summary> void Awake() { GameObject MenuUI = GameObject.Find(SCENE_LOADER_NAME); if (MenuUI != null) { globalVariables = MenuUI.GetComponent <ASL.UI.Menus.Networking.SceneVariableSetter>(); MasterClient = globalVariables.isMasterClient; UWBNetworkingPackage.NodeType platform = globalVariables.platform; Config.Start(platform); //MasterClient = MenuUI.GetComponent<ASL.UI.Menus.Networking.SceneVariableSetter>().isMasterClient; } else { #if !UNITY_EDITOR && UNITY_WSA_10_0 Config.Start(NodeType.Hololens); #elif !UNITY_EDITOR && UNITY_ANDROID Config.Start(NodeType.Tango); #else Config.Start(NodeType.PC); #endif } objManager = gameObject.AddComponent <ObjectManager>(); //Preprocessor directives to choose which component is added. Note, master client still has to be hard coded //Haven't yet found a better solution for this #if !UNITY_WSA_10_0 && !UNITY_ANDROID RoomHandler.Start(); if (MasterClient) { gameObject.AddComponent <MasterClientLauncher_PC>(); //new Config.AssetBundle.Current(); // Sets some items } else { gameObject.AddComponent <ReceivingClientLauncher_PC>(); // get logic for setting nodetype appropriately // new Config.AssetBundle.Current(); // Sets some items } #elif !UNITY_EDITOR && UNITY_WSA_10_0 RoomHandler.Start(); if (MasterClient) { gameObject.AddComponent <MasterClientLauncher_Hololens>(); } else { gameObject.AddComponent <ReceivingClientLauncher_Hololens>(); } //gameObject.AddComponent<HoloLensLauncher>(); //UWB_Texturing.TextManager.Start(); //// ERROR TESTING REMOVE //string[] filelines = new string[4]; //filelines[0] = "Absolute asset root folder = " + Config_Base.AbsoluteAssetRootFolder; //filelines[1] = "Private absolute asset root folder = " + Config_Base.absoluteAssetRootFolder; //filelines[2] = "Absolute asset directory = " + Config.AssetBundle.Current.CompileAbsoluteAssetDirectory(); //filelines[3] = "Absolute bundle directory = " + Config.AssetBundle.Current.CompileAbsoluteBundleDirectory(); //string filepath = System.IO.Path.Combine(Application.persistentDataPath, "debugfile.txt"); //System.IO.File.WriteAllLines(filepath, filelines); #elif UNITY_ANDROID bool isTango = true; if (isTango) { //gameObject.AddComponent<TangoLauncher>(); //Config.Start(NodeType.Tango); RoomHandler.Start(); if (MasterClient) { throw new System.Exception("Tango master client not yet implemented! If it is, then update NetworkManager where you see this error message."); } else { gameObject.AddComponent <ReceivingClientLauncher_Tango>(); } } else { // Config.Start(NodeType.Android); RoomHandler.Start(); if (MasterClient) { throw new System.Exception("Android master client not yet implemented! If it is, then update NetworkManager where you see this error message."); } else { gameObject.AddComponent <ReceivingClientLauncher_Android>(); } } #else RoomHandler.Start(); if (MasterClient) { gameObject.AddComponent <MasterClientLauncher_PC>(); //new Config.AssetBundle.Current(); // Sets some items } else { gameObject.AddComponent <ReceivingClientLauncher_PC>(); // get logic for setting nodetype appropriately // new Config.AssetBundle.Current(); // Sets some items } #endif }
public void LoadScene() { bool isMasterClient = false; string levelToLoad = ""; GameObject ConnectionMenu = GameObject.Find(CONNECTION_MENU_NAME); Toggle toggle_MasterClient = GameObject.Find(TOGGLE_MASTER_CLIENT).GetComponent <Toggle>(); Dropdown dropdown_Platform = GameObject.Find(DROPDOWN_PLATFORM).GetComponent <Dropdown>(); UWBNetworkingPackage.NodeType platform = dropdown_Platform.GetComponent <PlatformSelector>().platform; #if UNITY_WSA_10_0 if (toggle_MasterClient.isOn) { throw new System.Exception("Master client on Hololens platforms are not currently supported."); } switch (platform) { //case UWBNetworkingPackage.NodeType.Hololens: // levelToLoad = "Hololens"; // break; default: throw new System.Exception("Unsupported platform encountered in scene loader."); } #elif UNITY_ANDROID if (toggle_MasterClient.isOn) { throw new System.Exception("Master client on Hololens platforms are not currently supported."); } switch (platform) { case UWBNetworkingPackage.NodeType.Tango: levelToLoad = "Tango"; break; //case UWBNetworkingPackage.NodeType.Android: // levelToLoad = "Android"; // break; default: throw new System.Exception("Unsupported platform encountered in scene loader."); } #else // PC, Vive, Oculus if (toggle_MasterClient.isOn) { isMasterClient = true; } switch (platform) { case UWBNetworkingPackage.NodeType.PC: levelToLoad = "PC"; break; case UWBNetworkingPackage.NodeType.Vive: levelToLoad = "Vive"; break; //case UWBNetworkingPackage.NodeType.Oculus: // break; //case UWBNetworkingPackage.NodeType.Kinect: // break; default: throw new System.Exception("Unsupported platform encountered in scene loader."); } #endif SceneVariableSetter globalVariables = transform.gameObject.GetComponent <SceneVariableSetter>(); globalVariables.isMasterClient = isMasterClient; globalVariables.platform = platform; SceneManager.LoadScene(levelToLoad); }