Migrating user position messages to protobuf
This commit is contained in:
parent
e9ca8721a6
commit
df0636c513
10 changed files with 202 additions and 46 deletions
|
@ -6,7 +6,7 @@ config:
|
|||
token: "test"
|
||||
phases:
|
||||
- duration: 20
|
||||
arrivalRate: 2
|
||||
arrivalRate: 3
|
||||
processor: "./socketioLoadTest.js"
|
||||
scenarios:
|
||||
- name: "Connects and moves player for 20 seconds"
|
||||
|
@ -22,7 +22,7 @@ scenarios:
|
|||
- emit:
|
||||
channel: "join-room"
|
||||
data:
|
||||
roomId: 'global__api.workadventure.localhost/map/files/Floor0/floor0'
|
||||
roomId: 'global__maps.workadventure.localhost/Floor0/floor0'
|
||||
position:
|
||||
x: 783
|
||||
y: 170
|
||||
|
@ -35,20 +35,10 @@ scenarios:
|
|||
bottom: 200
|
||||
- think: 1
|
||||
- loop:
|
||||
- function: "setYRandom"
|
||||
- function: "setUserMovesMessage"
|
||||
- emit:
|
||||
channel: "user-position"
|
||||
data:
|
||||
position:
|
||||
x: "{{ x }}"
|
||||
y: "{{ y }}"
|
||||
direction: 'down'
|
||||
moving: false
|
||||
viewport:
|
||||
left: "{{ left }}"
|
||||
top: "{{ top }}"
|
||||
right: "{{ right }}"
|
||||
bottom: "{{ bottom }}"
|
||||
data: "{{ message }}"
|
||||
- think: 0.2
|
||||
count: 100
|
||||
- think: 10
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
'use strict';
|
||||
|
||||
require("../messages/generated/messages_pb");
|
||||
//import {PositionMessage, UserMovesMessage, ViewportMessage} from "../messages/generated/messages_pb";
|
||||
|
||||
module.exports = {
|
||||
setYRandom
|
||||
};
|
||||
|
@ -18,3 +21,33 @@ function setYRandom(context, events, done) {
|
|||
context.vars.bottom = context.vars.y + 200;
|
||||
return done();
|
||||
}
|
||||
|
||||
function setUserMovesMessage(context, events, done) {
|
||||
if (context.angle === undefined) {
|
||||
context.angle = Math.random() * Math.PI * 2;
|
||||
}
|
||||
context.angle += 0.05;
|
||||
|
||||
const x = Math.floor(320 + 1472/2 * (1 + Math.sin(context.angle)));
|
||||
const y = Math.floor(200 + 1090/2 * (1 + Math.cos(context.angle)));
|
||||
|
||||
const positionMessage = new PositionMessage();
|
||||
positionMessage.setX(x);
|
||||
positionMessage.setY(y);
|
||||
positionMessage.setDirection(PositionMessage.Direction.UP);
|
||||
positionMessage.setMoving(false);
|
||||
|
||||
const viewportMessage = new ViewportMessage();
|
||||
viewportMessage.setTop(y - 200);
|
||||
viewportMessage.setBottom(y + 200);
|
||||
viewportMessage.setLeft(x - 320);
|
||||
viewportMessage.setRight(x + 320);
|
||||
|
||||
const userMovesMessage = new UserMovesMessage();
|
||||
userMovesMessage.setPosition(positionMessage);
|
||||
userMovesMessage.setViewport(viewportMessage);
|
||||
|
||||
context.vars.message = userMovesMessage.serializeBinary().buffer;
|
||||
console.log(context.vars.message);
|
||||
return done();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue