Esempio n. 1
0
        override protected void HandleMessage(CreateLobby message)
        {
            GameNet.Player player = _server.Server.GetPlayerBySecret(message.Secret);

            if (player == null)
            {
                return;
            }

            try {
                ServerLobby lobby = _server.CreateLobby(message.Name, message.Password);
            } catch (Exception e) {
                Console.WriteLine(e.Message);
            }
        }
Esempio n. 2
0
        protected override void OnInstanceCreated()
        {
            base.OnInstanceCreated();
            AlwaysExist = true;

            NetworkManager = Mirror.NetworkManager.singleton as EventNetworkManager;
            ServerLobby    = ServerLobby.Instance;

            NetworkManager.OnServerSceneChangedEvent += StartSession;
            ServerLobby.OnUserLoadedToScene          += ProcessLoadedUser;

            CreateObservers(Observers);
            CreateActors(Actors);

            LoadPrefabs();
        }
Esempio n. 3
0
    public void UpdateCountdown(byte num)
    {
        ServerLobby lobby = GeneralVariables.lobbyManager;

        lobby.countdown = (int)num;
        lobby.countdownParent.SetActive(true);
        lobby.startGameButton.isEnabled = false;
        lobby.backButton.isEnabled      = false;
        NGUITools.PlaySound(lobby.countdownSound, 0.15f);
        lobby.countdownText.text = "GAME STARTING IN: " + lobby.countdown.ToString();

        if (lobby.countdown <= 0 && !Topan.Network.isServer)
        {
            StartCoroutine(FinishedCountdown());
        }
    }
Esempio n. 4
0
        private void InitializeServer(Scene scene, LoadSceneMode loadSceneMode)
        {
            ServerLobby.CreateInstance();
            var lobby = ServerLobby.Instance;

            var networkManager = NetworkManager.singleton as EventNetworkManager;

            if (networkManager == null)
            {
                throw new InvalidCastException();
            }

            lobby.NetworkManager = networkManager;
            lobby.Initialize();

            SceneManager.sceneLoaded -= InitializeServer;
            DestroyIfExist(true);
        }
Esempio n. 5
0
        /// <summary>
        /// Create a new lobby.
        /// </summary>
        /// <param name="name">The lobby name</param>
        /// <param name="password">The lobby password.</param>
        /// <returns>The created lobby.</returns>
        public ServerLobby CreateLobby(string name, string password = null)
        {
            foreach (Lobby existing in _lobbies)
            {
                if (existing.Name == name)
                {
                    throw new ArgumentException("Lobby name has already been taken.", "name");
                }
            }

            var lobby = new ServerLobby(name, password);

            _lobbies.Add(lobby);

            Output.WriteLine($"Name: {lobby.Name}");
            Output.WriteLine($"Password: {lobby.Password}");

            return(lobby);
        }
        public LobbyTesting()
        {
            ServerLobby lobby = new ServerLobby();
            ServerUser host = new ServerUser("host", false,null);
            Room room;
            Console.WriteLine("---------create room------------");
            lobby.CreateRoom(host, "testRoom", true, "asdqwe", out room);
            PrintLobby(lobby);
            Console.WriteLine("---------create room--------------");
            lobby.CreateRoom(host, "testRoom2", false, "", out room);
            lobby.CreateRoom(host, "testRoom3", false, "", out room);
            PrintLobby(lobby);
            string lobbyDataString = JsonConvert.SerializeObject(lobby.Serialize(), new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto });
            Lobby resultLobby = JsonConvert.DeserializeObject<Lobby>(lobbyDataString, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto });
            PrintLobby(resultLobby);

            Console.WriteLine("Lobby test end");
            Console.Read();
        }