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; } }
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)); }
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)); }