public void Handle(string JSONString) { ActionJson action = JsonUtility.FromJson <ActionJson>(JSONString); Debug.Log("Action recieved : " + action.Action); switch (action.Action) { /*case "loadLevel": * var loadLevelJson = JSON.Parse(JSONString); * JSONArray blocks = loadLevelJson["Blocks"].AsArray; * JSONArray objects = loadLevelJson["Objects"].AsArray; * JSONArray players = loadLevelJson["Players"].AsArray; * string levelName = loadLevelJson["Name"]; * model.LoadLevel(blocks, players, objects, levelName); * break;*/ case "returnToLobby": if (gameSceneManager != null) { gameSceneManager.ToLobbyScene(); } break; case "move": var moveJson = JSON.Parse(JSONString); model.MovePlayer(moveJson["Player"], moveJson["PosX"], moveJson["PosY"], moveJson["Direction"]); model.UpdateObjects(moveJson["Changes"].AsArray); break; case "action": var updateLevelJson = JSON.Parse(JSONString); JSONArray updates = updateLevelJson["Changes"].AsArray; model.UpdateObjects(updates); model.MovePlayer(updateLevelJson["Player"], updateLevelJson["PosX"], updateLevelJson["PosY"], updateLevelJson["Direction"]); break; case "win": model.gameWon = true; break; case "sendPing": var pingJson = JSON.Parse(JSONString); model.CreatePing(pingJson["PosX"], pingJson["PosY"]); break; case "gameReady": model.CanUnlockScene = true; break; default: Debug.LogError("Can't handle this action : " + action.Action); break; } }
public async Task CreateExperimentAction (ActionJson jsonObject) { var url = new Uri (v9Url, "obm/actions"); var json = JsonConvert.SerializeObject (jsonObject); var httpReq = SetupRequest (new HttpRequestMessage () { Method = HttpMethod.Post, RequestUri = url, Content = new StringContent (json, Encoding.UTF8, "application/json") }); var response = await SendAsync (httpReq).ConfigureAwait (false); }
public static MapJson FromMap(InputActionMap map) { ActionJson[] jsonActions = null; BindingJson[] jsonBindings = null; var actions = map.m_Actions; if (actions != null) { var actionCount = actions.Length; jsonActions = new ActionJson[actionCount]; for (var i = 0; i < actionCount; ++i) { jsonActions[i] = ActionJson.FromAction(actions[i]); } } var bindings = map.m_Bindings; if (bindings != null) { var bindingCount = bindings.Length; jsonBindings = new BindingJson[bindingCount]; for (var i = 0; i < bindingCount; ++i) { jsonBindings[i] = BindingJson.FromBinding(bindings[i]); } } return(new MapJson { name = map.name, id = map.id.ToString(), actions = jsonActions, bindings = jsonBindings, }); }
public static ActionFileJson FromSet(InputActionSet set) { var actions = set.actions; var actionCount = actions.Count; var actionsJson = new ActionJson[actionCount]; var haveSetName = !string.IsNullOrEmpty(set.name); for (var i = 0; i < actionCount; ++i) { actionsJson[i] = ActionJson.FromAction(actions[i]); if (haveSetName) { actionsJson[i].name = string.Format("{0}/{1}", set.name, actions[i].name); } } return(new ActionFileJson { actions = actionsJson }); }
public static ActionFileJson FromSets(IEnumerable <InputActionSet> sets) { // Count total number of actions. var actionCount = 0; foreach (var set in sets) { actionCount += set.actions.Count; } // Collect actions from all sets. var actionsJson = new ActionJson[actionCount]; var actionIndex = 0; foreach (var set in sets) { var haveSetName = !string.IsNullOrEmpty(set.name); var actions = set.actions; for (var i = 0; i < actions.Count; ++i) { actionsJson[actionIndex] = ActionJson.FromAction(actions[i]); if (haveSetName) { actionsJson[actionIndex].name = string.Format("{0}/{1}", set.name, actions[i].name); } ++actionIndex; } } return(new ActionFileJson { actions = actionsJson }); }
public void Handle(string JSONString) { ActionJson action = JsonUtility.FromJson <ActionJson>(JSONString); Debug.Log("Action recieved : " + action.Action); switch (action.Action) { case "gameList": JSONNode gameListJson = JSON.Parse(JSONString); JSONArray games = gameListJson["Games"].AsArray; List <GameListElementModel> gameList = new List <GameListElementModel>(); for (int i = 0; i < games.Count; ++i) { gameList.Add(new GameListElementModel(games[i]["id"], games[i]["nbPlayers"])); } gameListCreator.SetGameListAndUpdate(gameList); break; case "joinedGame": JSONNode joinedGame = JSON.Parse(JSONString); int gameId = joinedGame["GameId"]; int playerId = joinedGame["PlayerId"]; string map = joinedGame["Map"]; JSONArray playersRolesJson = joinedGame["PlayersRoles"].AsArray; int[] playersRoles = new int[playersRolesJson.Count]; for (int i = 0; i < playersRolesJson.Count; ++i) { playersRoles[i] = playersRolesJson[i]; } sceneManager.ToLobbyScene(gameId, playerId, playersRoles, map); break; case "cantJoinGame": JSONNode cantJoin = JSON.Parse(JSONString); gameId = cantJoin["GameId"]; errorMessage = "Couldn't join the game " + gameId + ":\n" + cantJoin["MoreInfo"]; showErrorMessage = true; break; case "createdGame": JSONNode createdGame = JSON.Parse(JSONString); gameId = createdGame["GameId"]; JSONArray mapsJson = createdGame["MapList"].AsArray; string[] mapList = new string[mapsJson.Count]; playersRoles = new int[1]; playersRoles[0] = 0; for (int i = 0; i < mapsJson.Count; ++i) { mapList[i] = mapsJson[i]; } sceneManager.ToLobbyScene(gameId, playersRoles, mapList); break; case "loadLevel": JSONNode loadLevelJson = JSON.Parse(JSONString); JSONArray blocks = loadLevelJson["Blocks"].AsArray; JSONArray objects = loadLevelJson["Objects"].AsArray; JSONArray players = loadLevelJson["Players"].AsArray; string levelName = loadLevelJson["Name"]; sceneManager.ToGameboardScene(blocks, objects, players, levelName); //model.LoadLevel(blocks, players, objects); break; default: Debug.LogError("Can't handle this action : " + action.Action); break; } }
public void Handle(string JSONString) { ActionJson action = JsonUtility.FromJson <ActionJson>(JSONString); Debug.Log("Action recieved : " + action.Action); switch (action.Action) { case "joinedGame": JSONNode joinedGame = JSON.Parse(JSONString); int gameId = joinedGame["GameId"]; int playerId = joinedGame["PlayerId"]; JSONArray playersRolesJson = joinedGame["PlayersRoles"].AsArray; int[] roles = new int[playersRolesJson.Count]; for (int i = 0; i < playersRolesJson.Count; ++i) { roles[i] = playersRolesJson[i]; } GameLobbyData.PlayersRoles = roles; lobbyManager.JoinedGame(playerId, roles); break; case "changedMap": JSONNode changedMapJson = JSON.Parse(JSONString); string newMap = changedMapJson["Map"]; lobbyManager.ChangeMap(newMap); break; case "roleChange": JSONNode roleChange = JSON.Parse(JSONString); playerId = roleChange["PlayerId"]; int roleId = roleChange["RoleId"]; lobbyManager.ChangeRole(playerId, roleId); break; case "loadLevel": JSONNode loadLevelJson = JSON.Parse(JSONString); JSONArray blocks = loadLevelJson["Blocks"].AsArray; JSONArray objects = loadLevelJson["Objects"].AsArray; JSONArray players = loadLevelJson["Players"].AsArray; string levelName = loadLevelJson["Name"]; sceneManager.SetLoadingBoxActive(true); sceneManager.ToGameboardScene(blocks, objects, players, levelName); break; case "cantStartGame": JSONNode cantStart = JSON.Parse(JSONString); string errorMessage = "Couldn't start the game:\n" + cantStart["MoreInfo"]; lobbyManager.ShowErrorMessage(errorMessage); break; case "leaveGame": JSONNode leaveGame = JSON.Parse(JSONString); int id = leaveGame["Player"]; if (id == GameLobbyData.PlayerId) { sceneManager.ToGameListScene(); } else { lobbyManager.PlayerLeftGame(id); } break; default: Debug.LogError("Can't handle this action : " + action.Action); break; } }