diff options
author | TrueDoctor <d-kobert@web.de> | 2018-10-01 22:57:22 +0200 |
---|---|---|
committer | TrueDoctor <d-kobert@web.de> | 2018-10-01 22:57:22 +0200 |
commit | 373af0a9c563dcd6bfb5e136f75f23e48bfb961c (patch) | |
tree | 693f019c86635222c3742ce97e764d7ba36065b5 /WebInterface/NodeJSServer/src/modules/playModule.js | |
parent | e7cac3a24b88a139eaf237a4342fa27c00bf2097 (diff) | |
parent | d24bc122966845bfc793c46aa268529f086af58f (diff) |
Merge branch 'WebApi' of https://github.com/TrueDoctor/DiscoBot into WebApi
Diffstat (limited to 'WebInterface/NodeJSServer/src/modules/playModule.js')
-rw-r--r-- | WebInterface/NodeJSServer/src/modules/playModule.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/WebInterface/NodeJSServer/src/modules/playModule.js b/WebInterface/NodeJSServer/src/modules/playModule.js new file mode 100644 index 0000000..06304cc --- /dev/null +++ b/WebInterface/NodeJSServer/src/modules/playModule.js @@ -0,0 +1,44 @@ +/** + * Handles ingame networking; + */ +export default class GameClient { + /** + * Defines basic attributes + * @param {string} user The username of the player + * @param {HubConnection} connection Already established connection to the + * server + */ + constructor(user, connection) { + this.user = user; + this.connection = connection; + } + + /** + * Registers chat html component + * @param {string} chatId Id of chat component + */ + registerChat(chatId) { + this.chat = document.getElementById(chatId); + this.messageList = this.chat.querySelector('#message-list'); + this.messageInput = this.chat.querySelector('#input-message'); + this.messageSend = this.chat.querySelector('#send-message'); + + this.connection.on('ReceiveMessage', (user, message) => { + let msg = message.replace(/&/g, '&') + .replace(/</g, '<') + .replace(/>/g, '>'); + let encodedMsg = user + ' sagt: ' + msg; + + let messageP = document.createElement('p'); + messageP.class = 'message'; + messageP.textContent = encodedMsg; + + this.messageList.appendChild(messageP); + }); + + this.messageSend.addEventListener('click', () => { + let message = this.messageInput.value; + this.connection.invoke('SendMessage', this.user, message); + }); + } +} |