示例#1
0
        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
        }
示例#2
0
        // 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));
        }
示例#3
0
        // 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
        }
示例#5
0
        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);
        }