Пример #1
0
        async void LoadScene(string name, Guid bundleId)
        {
            if (bundleId == Guid.Empty)
            {
                await UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(_scene.GetSceneName().Result,
                                                                              LoadSceneMode.Additive);

                _server.NotifySceneLoaded(_clientId, _sceneId, Test.Instance.Username).Wait();
            }
            else
            {
                string scene = await RootComponents.Instance.AssetLoader.LoadSceneFromWebAsync(bundleId, name);

                if (!String.IsNullOrEmpty(scene))
                {
                    await SceneManager.LoadSceneAsync(scene, LoadSceneMode.Additive);

                    _server.NotifySceneLoaded(_clientId, _sceneId, Test.Instance.Username).Wait();
                }
                else
                {
                    _log.Error("Can't load scene:" + name);
                }
            }
        }
Пример #2
0
        public ClientConnection(IConnection server, Guid clientId, Guid sceneId)
        {
            _server   = server;
            _clientId = clientId;
            _sceneId  = sceneId;

            _spawnedObjects = new Dictionary <Guid, IGameObject>();
            _scene          = _server.RegisterClient(_clientId, _sceneId,
                                                     CreateObserver <IConnectionObserver>()).Result;


            string scenename  = _scene.GetSceneName().Result;
            Guid   scenebunle = _scene.GetBundleId().Result;

            UnityMainThreadDispatcher.Instance().Enqueue(() =>
            {
                LoadScene(scenename, scenebunle);
            });


//            Debug.Log(_scene.GetSceneName().Result + "Name of scnce");
        }