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…
	
	Add table
		Add a link
		
	
		Reference in a new issue