예제 #1
0
    private IEnumerator UpdateActions()
    {
        while (!loaded)
        {
            yield return(null);
        }

        while (Server.serverReady)
        {
            yield return(_updateActionsPeriod);

            var data = new ActionsRequestBody {
                actions = _gm.actionsDone
            };
            var len     = data.actions.Count;
            var url     = $"{Server.baseUrl}/world/campaign/{campaignId}/actions/from/date/{_actionsFromDate}";
            var request = Server.PostRequest(url, data);
            while (!request.isDone)
            {
                yield return(null);
            }

            var response = Server.GetResponse <ActionsResponse>(request, false);
            if (!response)
            {
                continue;
            }

            _gm.actionsDone.RemoveRange(0, len);
            _gm.actionsToDo.AddRange(response.actions);
            _actionsFromDate = response.date;
        }
    }
예제 #2
0
    private IEnumerator ShareActions()
    {
        while (!loaded)
        {
            yield return(null);
        }

        while (Server.serverReady)
        {
            yield return(_shareActionsFrequency);

            var data = new ActionsRequestBody {
                actions = _actionsDone
            };
            // var len = data.actions.Count;
            var url     = $"{Server.BaseUrl}/world/{id}/actions/from/date/{_actionsFromDate}";
            var request = Server.PostRequest(url, data);
            while (!request.isDone)
            {
                yield return(null);
            }

            var response = Server.GetResponse <ActionsResponse>(request, false);
            if (!response)
            {
                continue;
            }

            // _actionsDone.RemoveRange(0, len);
            _actionsDone.Clear();
            _actionsToDo.AddRange(response.actions);
            _actionsFromDate = response.date;
        }
    }