Log events in visualization

This commit is contained in:
Dennis Schoepf 2021-08-03 14:17:38 +02:00
parent 0c542da265
commit 9c7161c8d9
11 changed files with 777 additions and 6 deletions

View file

@ -2,8 +2,9 @@ import _ from 'lodash';
import { mp5 } from '../../main';
import { colors } from '../constants/colors';
import { generateRevealableCoords } from '../helpers';
import { logger } from '../logger';
import { Player } from '../sketchObjects/Player';
import { Revealable, RevealableInterface } from '../sketchObjects/Revealable';
import { Revealable, RevealableInterface, RevealableTypes } from '../sketchObjects/Revealable';
import store from '../store';
import { Coordinates } from '../types';
import { CompanionState } from '../ui/companion';
@ -92,9 +93,25 @@ export class DetailScene {
onSceneClick() {
this.revealableObjects.forEach((revObj) => {
if (revObj.isHovered) {
logger.log({
type:
revObj.type === RevealableTypes.CONTRIBUTOR
? 'NI'
: revObj.type === RevealableTypes.LEGACY
? 'LI'
: 'PI',
timestamp: Date.now(),
message: `Identified ${revObj.name}`,
});
this.wasHovered = true;
revObj.onClick();
} else {
logger.log({
type: 'RC',
timestamp: Date.now(),
});
this.player.reveal();
this.wasInteractedWith = true;
}

View file

@ -7,6 +7,7 @@ import { generateEdges } from '../helpers';
import { Scenes } from './scenes';
import projectMetadata from '../../metadata/project.json';
import { Area } from '../types';
import { logger } from '../logger';
export class OverviewScene {
player: Player;
@ -30,12 +31,24 @@ export class OverviewScene {
this.edges.forEach((edge, i) => {
const dist = mp5.dist(mp5.mouseX, mp5.mouseY, edge.x, edge.y);
if (dist < edge.r) {
logger.log({
type: 'OC',
timestamp: Date.now(),
message: 'Click outside edge',
});
store.getState().setProjectMetadata(edge.name);
store.setState({
showScore: true,
currentSubproject: edge.name,
currentScene: Scenes.DETAIL,
});
} else {
logger.log({
type: 'OC',
timestamp: Date.now(),
message: 'Click on edge',
});
}
});
}
@ -52,6 +65,11 @@ export class OverviewScene {
store.setState({ finishedGame: true });
setTimeout(() => {
logger.log({
timestamp: Date.now(),
type: 'GF',
});
store.getState().addUserMessage({
text: "Nice! 😎 You made it all the way through. Now I would be very thankful if you could take some time to answer the following questions. Don't overthink the answers and write down everything that comes to your mind. The more input you give, the better no matter how well it is formulated!",
inputWanted: false,
@ -62,6 +80,12 @@ export class OverviewScene {
this.edges.forEach((edgeShape) => {
if (store.getState().finishedSubProjects.some((fsp) => fsp === edgeShape.name)) {
logger.log({
type: 'SF',
timestamp: Date.now(),
message: `Finished subproject: ${edgeShape.name}`,
});
edgeShape.finished = true;
}