parent
51d8de2c38
commit
c6110dd996
5 changed files with 27 additions and 38 deletions
|
@ -253,14 +253,13 @@ abstract class Connection extends EventEmitter {
|
||||||
|
|
||||||
@autobind
|
@autobind
|
||||||
public send(typeOrPayload, payload?) {
|
public send(typeOrPayload, payload?) {
|
||||||
const data = payload === undefined ? typeOrPayload : {
|
const type = payload === undefined ? typeOrPayload.type : typeOrPayload;
|
||||||
type: typeOrPayload,
|
const body = payload === undefined ? typeOrPayload.body : payload;
|
||||||
body: payload
|
|
||||||
};
|
|
||||||
|
|
||||||
this.stream.send('channel', {
|
this.stream.send('channel', {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
body: data
|
type: type,
|
||||||
|
body: body
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -186,9 +186,8 @@ export default Vue.extend({
|
||||||
if (this.game.isStarted && !this.game.isEnded) {
|
if (this.game.isStarted && !this.game.isEnded) {
|
||||||
this.pollingClock = setInterval(() => {
|
this.pollingClock = setInterval(() => {
|
||||||
const crc32 = CRC32.str(this.logs.map(x => x.pos.toString()).join(''));
|
const crc32 = CRC32.str(this.logs.map(x => x.pos.toString()).join(''));
|
||||||
this.connection.send({
|
this.connection.send('check', {
|
||||||
type: 'check',
|
crc32: crc32
|
||||||
crc32
|
|
||||||
});
|
});
|
||||||
}, 3000);
|
}, 3000);
|
||||||
}
|
}
|
||||||
|
@ -224,9 +223,8 @@ export default Vue.extend({
|
||||||
sound.play();
|
sound.play();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.connection.send({
|
this.connection.send('set', {
|
||||||
type: 'set',
|
pos: pos
|
||||||
pos
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.checkEnd();
|
this.checkEnd();
|
||||||
|
|
|
@ -149,9 +149,9 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.connection.on('change-accepts', this.onChangeAccepts);
|
this.connection.on('changeAccepts', this.onChangeAccepts);
|
||||||
this.connection.on('update-settings', this.onUpdateSettings);
|
this.connection.on('updateSettings', this.onUpdateSettings);
|
||||||
this.connection.on('init-form', this.onInitForm);
|
this.connection.on('initForm', this.onInitForm);
|
||||||
this.connection.on('message', this.onMessage);
|
this.connection.on('message', this.onMessage);
|
||||||
|
|
||||||
if (this.game.user1Id != this.$store.state.i.id && this.game.settings.form1) this.form = this.game.settings.form1;
|
if (this.game.user1Id != this.$store.state.i.id && this.game.settings.form1) this.form = this.game.settings.form1;
|
||||||
|
@ -159,9 +159,9 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.connection.off('change-accepts', this.onChangeAccepts);
|
this.connection.off('changeAccepts', this.onChangeAccepts);
|
||||||
this.connection.off('update-settings', this.onUpdateSettings);
|
this.connection.off('updateSettings', this.onUpdateSettings);
|
||||||
this.connection.off('init-form', this.onInitForm);
|
this.connection.off('initForm', this.onInitForm);
|
||||||
this.connection.off('message', this.onMessage);
|
this.connection.off('message', this.onMessage);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -171,15 +171,11 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
accept() {
|
accept() {
|
||||||
this.connection.send({
|
this.connection.send('accept', {});
|
||||||
type: 'accept'
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
cancel() {
|
cancel() {
|
||||||
this.connection.send({
|
this.connection.send('cancelAccept', {});
|
||||||
type: 'cancel-accept'
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onChangeAccepts(accepts) {
|
onChangeAccepts(accepts) {
|
||||||
|
@ -189,8 +185,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
updateSettings() {
|
updateSettings() {
|
||||||
this.connection.send({
|
this.connection.send('updateSettings', {
|
||||||
type: 'update-settings',
|
|
||||||
settings: this.game.settings
|
settings: this.game.settings
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -216,8 +211,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
onChangeForm(item) {
|
onChangeForm(item) {
|
||||||
this.connection.send({
|
this.connection.send('updateForm', {
|
||||||
type: 'update-form',
|
|
||||||
id: item.id,
|
id: item.id,
|
||||||
value: item.value
|
value: item.value
|
||||||
});
|
});
|
||||||
|
@ -238,9 +232,9 @@ export default Vue.extend({
|
||||||
const y = Math.floor(pos / this.game.settings.map[0].length);
|
const y = Math.floor(pos / this.game.settings.map[0].length);
|
||||||
const newPixel =
|
const newPixel =
|
||||||
pixel == ' ' ? '-' :
|
pixel == ' ' ? '-' :
|
||||||
pixel == '-' ? 'b' :
|
pixel == '-' ? 'b' :
|
||||||
pixel == 'b' ? 'w' :
|
pixel == 'b' ? 'w' :
|
||||||
' ';
|
' ';
|
||||||
const line = this.game.settings.map[y].split('');
|
const line = this.game.settings.map[y].split('');
|
||||||
line[x] = newPixel;
|
line[x] = newPixel;
|
||||||
this.$set(this.game.settings.map, y, line.join(''));
|
this.$set(this.game.settings.map, y, line.join(''));
|
||||||
|
|
|
@ -174,8 +174,7 @@ export default Vue.extend({
|
||||||
|
|
||||||
this.messages.push(message);
|
this.messages.push(message);
|
||||||
if (message.userId != this.$store.state.i.id && !document.hidden) {
|
if (message.userId != this.$store.state.i.id && !document.hidden) {
|
||||||
this.connection.send({
|
this.connection.send('read', {
|
||||||
type: 'read',
|
|
||||||
id: message.id
|
id: message.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -247,8 +246,7 @@ export default Vue.extend({
|
||||||
if (document.hidden) return;
|
if (document.hidden) return;
|
||||||
this.messages.forEach(message => {
|
this.messages.forEach(message => {
|
||||||
if (message.userId !== this.$store.state.i.id && !message.isRead) {
|
if (message.userId !== this.$store.state.i.id && !message.isRead) {
|
||||||
this.connection.send({
|
this.connection.send('read', {
|
||||||
type: 'read',
|
|
||||||
id: message.id
|
id: message.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,10 +23,10 @@ export default class extends Channel {
|
||||||
public onMessage(type: string, body: any) {
|
public onMessage(type: string, body: any) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'accept': this.accept(true); break;
|
case 'accept': this.accept(true); break;
|
||||||
case 'cancel-accept': this.accept(false); break;
|
case 'cancelAccept': this.accept(false); break;
|
||||||
case 'update-settings': this.updateSettings(body.settings); break;
|
case 'updateSettings': this.updateSettings(body.settings); break;
|
||||||
case 'init-form': this.initForm(body); break;
|
case 'initForm': this.initForm(body); break;
|
||||||
case 'update-form': this.updateForm(body.id, body.value); break;
|
case 'updateForm': this.updateForm(body.id, body.value); break;
|
||||||
case 'message': this.message(body); break;
|
case 'message': this.message(body); break;
|
||||||
case 'set': this.set(body.pos); break;
|
case 'set': this.set(body.pos); break;
|
||||||
case 'check': this.check(body.crc32); break;
|
case 'check': this.check(body.crc32); break;
|
||||||
|
|
Loading…
Reference in a new issue