Private
Public Access
1
0

add player names to UI

This commit is contained in:
2016-11-01 10:52:39 +01:00
parent a566ba8cf8
commit a4f9b603a2
7 changed files with 79 additions and 26 deletions

View File

@@ -4,7 +4,6 @@ import MineSeeker from './mine-seeker/app';
ReactDOM.render(
<MineSeeker env={document.getElementById('mine-wrapper').dataset.env}
gameId={document.getElementById('mine-wrapper').dataset.gameId}
userName={document.getElementById('mine-wrapper').dataset.userName}/>,
gameId={document.getElementById('mine-wrapper').dataset.gameId}/>,
document.getElementById('mine-wrapper')
);

View File

@@ -8,13 +8,11 @@ class MineSeeker extends React.Component {
var gameAssoc = props.gameId !== '' ? props.gameId : this.makeGameAssoc(50);
var channel = "acme/channel/" + gameAssoc;
var userName = props.userName;
this.state = {
gameInherited: props.gameId !== '',
gameAssoc: gameAssoc,
channel: channel,
userName: userName,
session: null,
createGrid: false,
stepCache: null
@@ -70,14 +68,12 @@ class MineSeeker extends React.Component {
overlayTitle: "We are waiting for your opponent..."
});
/** setup the web player && save player name */
/** setup the web player */
if (this.refs.gridControl.state.webPlayer === null) {
if (this.state.gameInherited) {
this.refs.gridControl.state.webPlayer = 'blue';
this.refs.gridControl.refs.userControl.refs.blue.setState({name: this.state.userName});
} else {
this.refs.gridControl.state.webPlayer = 'red';
this.refs.gridControl.refs.userControl.refs.red.setState({name: this.state.userName});
}
}
@@ -99,19 +95,27 @@ class MineSeeker extends React.Component {
this.refs.gridControl.stepEvent(payload.data.coords);
}
} else {
console.info(
(typeof payload.user !== 'undefined' ? payload.user : 'user') + " has been subscribed to the channel!"
);
/** remove overlay when every user has been came */
/** It is subscribe or unsubscribe */
if (isNotUnsubscribe) {
this.refs.gridControl.setState({overlay: payload.userCnt < 2});
}
console.info(
(typeof payload.user !== 'undefined' ? payload.user : 'user') + " has been subscribed to the channel!"
);
// /** Save the opponent's player name */
// if (this.state.gameInherited) {
// this.refs.gridControl.refs.userControl.refs.blue.setState({name: payload.user});
// }
/** remove overlay when every user has been came */
this.refs.gridControl.setState({overlay: payload.userCnt < 2});
/** Set up player names w/ server data */
this.refs.gridControl.refs.userControl.refs.red.setState({
name: payload.users.red !== '' ? payload.users.red : payload.users.redAnon
});
this.refs.gridControl.refs.userControl.refs.blue.setState({
name: payload.users.blue !== '' ? payload.users.blue : payload.users.blueAnon
});
} else {
console.info(payload.msg);
}
}
}
);