This commit is contained in:
CDeenen
2021-01-07 05:38:16 +01:00
parent 2947c54eb8
commit 888b089e7b
20 changed files with 690 additions and 402 deletions

View File

@@ -7,59 +7,84 @@ export class Move{
}
update(settings,context){
let background;
if (settings.background) background = settings.background;
else background = '#000000';
const background = settings.background ? settings.background : '#000000';
const mode = settings.mode ? settings.mode : 'canvas';
const type = settings.type ? settings.type : 'move';
let url = '';
if (settings.dir == 'center') //center
url = "modules/MaterialDeck/img/move/center.png";
else if (settings.dir == 'up') //up
url = "modules/MaterialDeck/img/move/up.png";
else if (settings.dir == 'down') //down
url = "modules/MaterialDeck/img/move/down.png";
else if (settings.dir == 'right') //right
url = "modules/MaterialDeck/img/move/right.png";
else if (settings.dir == 'left') //left
url = "modules/MaterialDeck/img/move/left.png";
else if (settings.dir == 'upRight')
url = "modules/MaterialDeck/img/move/upright.png";
else if (settings.dir == 'upLeft')
url = "modules/MaterialDeck/img/move/upleft.png";
else if (settings.dir == 'downRight')
url = "modules/MaterialDeck/img/move/downright.png";
else if (settings.dir == 'downLeft')
url = "modules/MaterialDeck/img/move/downleft.png";
else if (settings.dir == 'zoomIn')
url = "modules/MaterialDeck/img/move/zoomin.png";
else if (settings.dir == 'zoomOut')
url = "modules/MaterialDeck/img/move/zoomout.png";
if (mode == 'canvas' || (mode == 'selectedToken' && type == 'move')){
const dir = settings.dir ? settings.dir : 'center';
if (dir == 'center') //center
url = "modules/MaterialDeck/img/move/center.png";
else if (dir == 'up') //up
url = "modules/MaterialDeck/img/move/up.png";
else if (dir == 'down') //down
url = "modules/MaterialDeck/img/move/down.png";
else if (dir == 'right') //right
url = "modules/MaterialDeck/img/move/right.png";
else if (dir == 'left') //left
url = "modules/MaterialDeck/img/move/left.png";
else if (dir == 'upRight')
url = "modules/MaterialDeck/img/move/upright.png";
else if (dir == 'upLeft')
url = "modules/MaterialDeck/img/move/upleft.png";
else if (dir == 'downRight')
url = "modules/MaterialDeck/img/move/downright.png";
else if (dir == 'downLeft')
url = "modules/MaterialDeck/img/move/downleft.png";
else if (dir == 'zoomIn')
url = "modules/MaterialDeck/img/move/zoomin.png";
else if (dir == 'zoomOut')
url = "modules/MaterialDeck/img/move/zoomout.png";
}
else if (mode == 'selectedToken' && type == 'rotate'){
const value = isNaN(parseInt(settings.rotValue)) ? 0 : parseInt(settings.rotValue);
if (value >= 0)
url = "modules/MaterialDeck/img/move/rotatecw.png";
else
url = "modules/MaterialDeck/img/move/rotateccw.png";
}
streamDeck.setIcon(context,url,background);
}
keyPress(settings){
if (canvas.scene == null) return;
let dir = settings.dir;
let mode = settings.mode;
if (mode == undefined) mode = 'canvas';
if (dir == undefined) dir = 'center';
const dir = settings.dir ? settings.dir : 'center';
const mode = settings.mode ? settings.mode : 'canvas';
const type = settings.type ? settings.type : 'move';
if (dir == 'zoomIn') {//zoom in
let viewPosition = canvas.scene._viewPosition;
viewPosition.scale = viewPosition.scale*1.05;
viewPosition.duration = 100;
canvas.animatePan(viewPosition);
if (type == 'move'){
if (dir == 'zoomIn') {//zoom in
let viewPosition = canvas.scene._viewPosition;
viewPosition.scale = viewPosition.scale*1.05;
viewPosition.duration = 100;
canvas.animatePan(viewPosition);
}
else if (dir == 'zoomOut') {//zoom out
let viewPosition = canvas.scene._viewPosition;
viewPosition.scale = viewPosition.scale*0.95;
viewPosition.duration = 100;
canvas.animatePan(viewPosition);
}
else {
if (settings.mode == 'selectedToken')
this.moveToken(MODULE.selectedTokenId,dir);
else
this.moveCanvas(dir);
}
}
else if (dir == 'zoomOut') {//zoom out
let viewPosition = canvas.scene._viewPosition;
viewPosition.scale = viewPosition.scale*0.95;
viewPosition.duration = 100;
canvas.animatePan(viewPosition);
}
else {
if (settings.mode == 'selectedToken')
this.moveToken(MODULE.selectedTokenId,dir);
else
this.moveCanvas(dir);
else if (type == 'rotate' && mode == 'selectedToken'){
const token = canvas.tokens.children[0].children.find(p => p.id == MODULE.selectedTokenId);
if (token == undefined) return;
const rotType = settings.rot ? settings.rot : 'to';
const value = isNaN(parseInt(settings.rotValue)) ? 0 : parseInt(settings.rotValue);
let rotationVal;
if (rotType == 'by') rotationVal = token.data.rotation + value;
else if (rotType == 'to') rotationVal = value;
token.update({rotation: rotationVal});
}
}