public async Task <FtRequestData> JoinGame() { FtRequest request = new FtRequest(FtRequestType.JoinGame, new FtRequestData() { SenderGuid = OS.GetUniqueId(), SenderName = System.Environment.MachineName }); HttpResponse response = await Global.Http.Request(Route("join-game"), 5, request.ToJson()); FtRequestData data = JsonSerializer.Deserialize <FtRequestData>(response.Body); return(data); }
private async void Sync() { FtRequestData response = await Game.Service.Sync(GetAllUnitActions()); Global.Log(response.ToJson()); // transform unit actions List <JsonElement> elems = response.UnitActions.Cast <JsonElement>().ToList(); // transform and replay the unit actions foreach (JsonElement elem in elems) { UnitAction action = UnitAction.ActionFromJson(elem); await action.Replay(); await Global.WaitFor(1); } }
public async Task <FtRequestData> Sync(List <object> unitActions) { FtRequest request = new FtRequest(FtRequestType.Sync, new FtRequestData() { SenderGuid = OS.GetUniqueId(), SenderName = System.Environment.MachineName, UnitActions = unitActions }); string json = request.ToJson(); Global.Log(json); HttpResponse response = await Global.Http.Request(Route("sync"), 5, json); Global.Log(response.Body); FtRequestData data = JsonSerializer.Deserialize <FtRequestData>(response.Body); return(data); }
private async void JoinGame() { FtRequestData data = await Game.Service.JoinGame(); if (!string.IsNullOrEmpty(data.Success)) { debugText.Text = data.Success + "\n Joining game..."; await Global.WaitFor(2); Global.LocalController = new NetworkController() { HasInitiative = false }; GetTree().ChangeScene("res://games/SimpleGame.tscn"); } else { debugText.Text = data.Error; } }
public FtRequest(FtRequestType type, FtRequestData data) { Type = type.ToString(); Data = data; }