# App websocket API Pour se connecter ```json { "type": "connectGame", "status": "ok", "token": theToken, "data": { gameId: String/Number, username: String, password: String, }, } ``` retour du serveur ```json { "type": "connectGame", "status": "ok", "token": null, "data": { "token": String, "roles": [ { "name": String, "image": String, "summary": String } ] }, } ``` Pour set un role préféré ```json { "type": "setRole", "status": "ok", "token": theToken, "data": { roleName: String, }, } ``` Quand il faut reload un page l'app recoit ```json { "type": "reloadPage", "status": "ok", "token": null, "data": {}, } ``` ```json { "type": "getHomePage", // le nom de l'action qui requiert un envoi "emitter": String, // a voir peut-etre un token "date": Date, "data": { "characterName": String, "characterPhoto": String, // null pour l'instant "characterRole": String, "characterSummaryRole": String, "characterHints": JSONArray, "scenarioTitle": String, "scenarioSummary": String "characterProperties":{ "alive": boolean, "protected": boolean, "poisoned": boolean, } }, } ``` ```json { "type": "getMyPlayer", // le nom de l'action qui requiert un envoi "emitter": String, // a voir peut-etre un token "date": Date, "data": { "CharacterRole": Role, }, } ``` ```json { type: "getObjectPage", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { objectName: String }, } ``` Pour récupérer les données sur un personnage (envoyé depuis l'app) ```json type: "getPlayerData", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { playerRoleName: String }, ``` ```json { "type": "getMyActions", // le nom de l'action qui requiert un envoi "emitter": String, // a voir peut-etre un token "date": Date, "data": { "characterActions": { "Pickpocket": { "possible": Boolean //Si les prérequis sont remplis, if false = display errorMesage on clic "errorMessage": "Vous n'avez plus de point d'action", // DEPRECATED "summary": "Vous volez qq bouhaha", "description": "blablabla" //accessible en cliquant sur un bouton plus d'infos } }, "gameCharacters": List, "gameObjects": List, "gameRooms": List }, } ``` ```json { "type": "makeAction", "status": "ok", "token": null, "data": { "actionName":String } } ``` Quand un joueur a fait une demande d'action le serveur envoie : ```json { "type": "makeAction", "status": "ok", "token": null, "data": { "choices": [ { "message": "Veuillez choisir le joueur qui va faire un potin", "possibilities": [ "toto", "tutu", "titi"], "min": 1, "max": 1 }, { "message": "Veuillez choisir le joueur sur qui sera le potin", "possibilities": [ "toto", "tutu", "titi"], "min": 1, "max": 1 } ] } } ``` ou une erreur si l'action n'est pas possible retour en fin d'action ```json { "type": "actionResult", "status": "ok", "token": null, "data": { "actionName": String, "choices": [ ["titi"], ["toto"] ] } } ``` ```json { type: "getEventsPage", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { events: [ ] }, } ``` Récupère la page les personnages avec une liste des noms des personnages ```json { type: "getPlayersPage", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { charactersName: List String, }, } ``` Récupère une page précise d'un personnage avec son rôle et ce que mon personnage pense de lui ```json { type: "getPlayerData", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { characterRole: String, characterThoughts: String }, } ``` ```json { type: "getMyInventoryPage", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { characterObject: String List, }, } ``` ```json { type: "getObjectPage", // le nom de l'action qui requiert un envoi emitter: String, // a voir peut-etre un token date: Date, data: { objectPhoto: String, objectDescription: String }, } ``` Quand le serveur envoie une notification ```json { "type": "notification", "status": "ok", "token": "null", "data": { "type": String //warn, info, announce, death "message": String } }