diff --git a/src/main/java/com/alterdekim/game/component/game/GameRoom.java b/src/main/java/com/alterdekim/game/component/game/GameRoom.java index 2f2bfc0..7878573 100644 --- a/src/main/java/com/alterdekim/game/component/game/GameRoom.java +++ b/src/main/java/com/alterdekim/game/component/game/GameRoom.java @@ -111,6 +111,8 @@ public class GameRoom { red.setY(10); sendMessage(message.getUid(), WebSocketMessageType.ChipMove, om.writeValueAsString(red)); + + sendMessage(message.getUid(), WebSocketMessageType.PlayerColor, om.writeValueAsString(new PlayerColor(2L, "#ff0000"))); } catch (JsonProcessingException e) { log.error(e.getMessage(), e); } diff --git a/src/main/java/com/alterdekim/game/component/game/PlayerColor.java b/src/main/java/com/alterdekim/game/component/game/PlayerColor.java new file mode 100644 index 0000000..2f9ce1a --- /dev/null +++ b/src/main/java/com/alterdekim/game/component/game/PlayerColor.java @@ -0,0 +1,11 @@ +package com.alterdekim.game.component.game; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public class PlayerColor { + private Long playerId; + private String color; +} diff --git a/src/main/java/com/alterdekim/game/websocket/message/WebSocketMessageType.java b/src/main/java/com/alterdekim/game/websocket/message/WebSocketMessageType.java index 3641a41..338f948 100644 --- a/src/main/java/com/alterdekim/game/websocket/message/WebSocketMessageType.java +++ b/src/main/java/com/alterdekim/game/websocket/message/WebSocketMessageType.java @@ -6,5 +6,6 @@ public enum WebSocketMessageType { InfoRequest, ChangeBoardTileState, AssignChip, - ChipMove + ChipMove, + PlayerColor } diff --git a/src/main/resources/static/javascript/game.js b/src/main/resources/static/javascript/game.js index 518600b..a60615d 100644 --- a/src/main/resources/static/javascript/game.js +++ b/src/main/resources/static/javascript/game.js @@ -87,6 +87,7 @@ $(document).ready(function() { socket = new SockJS('/websocket'); socket.onopen = function() { + $("#loading").css("display", ""); console.log('open'); sendMessage({}, 'InfoRequest'); }; @@ -120,6 +121,9 @@ function showMessage(message) { case 'ChipMove': chipMove(JSON.parse(message.body)); break; + case 'PlayerColor': + playerColor(JSON.parse(message.body)); + break; } } @@ -135,6 +139,16 @@ function chipMove(body) { moveChips(); } +function playerColor(body) { + $(".player").each(function() { + if( $(this).attr("data-pid") == body.playerId ) { + $(this).css("background-color", body.color); + return; + } + $(this).css("background-color", ""); + }); +} + const corners = [ {x: 0, y: 0}, {x: 10, y: 0}, diff --git a/src/main/resources/templates/game.html b/src/main/resources/templates/game.html index fa43829..defad2c 100644 --- a/src/main/resources/templates/game.html +++ b/src/main/resources/templates/game.html @@ -21,12 +21,12 @@ - +