Exemplo n.º 1
0
        IEnumerator InternalAddServer(ServerJson server)
        {
            added         = true;
            sending       = true;
            currentServer = server;

            UnityWebRequest request = requestCreator.Post("servers", currentServer);

            yield return(requestCreator.SendRequestEnumerator(request, OnSuccess, OnFail));

            sending = false;

            void OnSuccess(string responseBody)
            {
                CreatedIdJson created = JsonUtility.FromJson <CreatedIdJson>(responseBody);

                serverId = created.id;

                // Start ping to keep server alive
                _pingCoroutine = runner.StartCoroutine(InternalPing());
            }

            void OnFail(string responseBody)
            {
                added = false;
            }
        }
Exemplo n.º 2
0
        public void AddServer(ServerJson server)
        {
            if (added)
            {
                Logger.LogWarning("AddServer called when server was already adding or added"); return;
            }
            bool valid = server.Validate();

            if (!valid)
            {
                return;
            }

            runner.StartCoroutine(InternalAddServer(server));
        }
Exemplo n.º 3
0
        public void UpdateServer(ServerJson server)
        {
            // TODO, use PartialServerJson as Arg Instead
            if (!added)
            {
                Logger.LogWarning("UpdateServer called when before server was added"); return;
            }

            PartialServerJson partialServer = new PartialServerJson
            {
                displayName    = server.displayName,
                playerCount    = server.playerCount,
                maxPlayerCount = server.maxPlayerCount,
                customData     = server.customData,
            };

            partialServer.Validate();

            runner.StartCoroutine(InternalUpdateServer(partialServer));
        }