Skip to content
This repository was archived by the owner on Jan 9, 2024. It is now read-only.

Commit 837802e

Browse files
committed
Update player nicknames on JS side
- Add a player JS object
1 parent 7e94dd9 commit 837802e

File tree

3 files changed

+53
-17
lines changed

3 files changed

+53
-17
lines changed

app/assets/javascripts/battletype.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//= require battletype/combat_zone
77
//= require battletype/dockyard
88
//= require battletype/ship
9+
//= require battletype/player
910
//= require battletype/life_o_meter
1011

1112
(function () {
@@ -32,6 +33,9 @@
3233

3334
this.mothership = Dockyard.launchMothership(this.$combatZone);
3435

36+
this.player = Player.build(document.getElementById("current_player_nickname"));
37+
this.opponent = Player.build(document.getElementById("opponent_nickname"));
38+
3539
this.playerLifeOMeter = LifeOMeter.activate(document.getElementById("life_player"));
3640
this.opponentLifeOMeter = LifeOMeter.activate(document.getElementById("life_opponent"));
3741

@@ -118,9 +122,18 @@
118122
case "player_joined":
119123
if (payload.player_id != this.playerId) {
120124
var nickname = payload.nickname;
125+
Battletype.opponent.nickname = payload.nickname;
126+
this._logs.displayMessage(payload.code);
127+
}
128+
break;
129+
case "player_nickname_changed":
130+
var nickname = payload.nickname;
121131

122-
this.$combatZone.find("#opponent_nickname").text(nickname); // TODO tell-dont-ask
132+
if (payload.player_id == this.playerId) {
133+
Battletype.player.nickname = payload.nickname;
123134
this._logs.displayMessage(payload.code);
135+
} else {
136+
Battletype.opponent.nickname = payload.nickname;
124137
}
125138
break;
126139
}

app/assets/javascripts/battletype/logs.js

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
(function () {
22
var LOG_CODES_AND_TYPES_MAP = {
3-
"failed_attack": "attack",
4-
"failed_bombing": "attack",
5-
"failed_defense": "defense",
6-
"game_won": "game",
7-
"player_joined": "player",
8-
"successful_attack": "attack",
9-
"successful_bombing": "bomb",
10-
"successful_defense": "defense",
3+
"failed_attack": "attack",
4+
"failed_bombing": "attack",
5+
"failed_defense": "defense",
6+
"game_won": "game",
7+
"player_joined": "player",
8+
"player_nickname_changed": "player",
9+
"successful_attack": "attack",
10+
"successful_bombing": "bomb",
11+
"successful_defense": "defense",
1112
};
1213

1314
var LOG_CODES_AND_MESSAGES_MAP = {
14-
"failed_attack": "OOPS! Attack failed",
15-
"failed_bombing": "OOPS! Bombing failed",
16-
"failed_defense": "OOPS! Defense failed",
17-
"game_won": "Game finished!",
18-
"player_joined": "Opponent joined",
19-
"successful_attack": "New ship launched!",
20-
"successful_bombing": "Mothership hit!",
21-
"successful_defense": "Ship destroyed!",
15+
"failed_attack": "OOPS! Attack failed",
16+
"failed_bombing": "OOPS! Bombing failed",
17+
"failed_defense": "OOPS! Defense failed",
18+
"game_won": "Game finished!",
19+
"player_joined": "Opponent joined",
20+
"player_nickname_changed": "Nickname changed",
21+
"successful_attack": "New ship launched!",
22+
"successful_bombing": "Mothership hit!",
23+
"successful_defense": "Ship destroyed!",
2224
};
2325

2426
var ERROR_CODES_AND_MESSAGES_MAP = {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
(function () {
2+
this.Player = {
3+
_properties: {
4+
nickname: {
5+
get: function () { return this._nickname; },
6+
set: function (nickname) {
7+
this._nickname = nickname;
8+
9+
$(this)
10+
.text(nickname)
11+
.fadeIn("slow")
12+
.blur();
13+
}
14+
}
15+
},
16+
build: function (node) {
17+
var player = Object.defineProperties(node, this._properties);
18+
return player;
19+
}
20+
};
21+
}).call(this);

0 commit comments

Comments
 (0)