mirror of
https://github.com/mehotkhan/BandersnatchInteractive.git
synced 2025-07-27 17:23:22 +00:00
assets/scripts.js: Clean up some global variables
This commit is contained in:
parent
449e112040
commit
bc5a6bf2b9
1 changed files with 23 additions and 24 deletions
|
@ -5,13 +5,6 @@ var choicePoints = bv.choicePointNavigatorMetadata.choicePointsMetadata.choicePo
|
|||
var momentsBySegment = bv.momentsBySegment;
|
||||
var segmentGroups = bv.segmentGroups;
|
||||
|
||||
// Global mutable state
|
||||
var captions = {};
|
||||
var currentSegment;
|
||||
var nextSegment = null;
|
||||
var currentMoments = [];
|
||||
var globalChoices = {};
|
||||
|
||||
// Persistent state
|
||||
var ls = window.localStorage || {};
|
||||
|
||||
|
@ -130,6 +123,8 @@ function addItem(ul, text, url) {
|
|||
ul.appendChild(li);
|
||||
}
|
||||
|
||||
var nextSegment = null;
|
||||
|
||||
function setNextSegment(segmentId, comment) {
|
||||
console.log('setNextSegment', segmentId, comment);
|
||||
nextSegment = segmentId;
|
||||
|
@ -158,7 +153,7 @@ function addZones(segmentId) {
|
|||
|
||||
ul = newList("nextSegments");
|
||||
for (const [k, v] of Object.entries(segmentMap.segments[segmentId].next)) {
|
||||
let caption = captions[k] ? captions[k] : k;
|
||||
let caption = k;
|
||||
if (segmentMap.segments[segmentId].defaultNext == k) {
|
||||
caption = '[' + caption + ']';
|
||||
setNextSegment(k);
|
||||
|
@ -167,6 +162,8 @@ function addZones(segmentId) {
|
|||
}
|
||||
}
|
||||
|
||||
var globalChoices = {};
|
||||
|
||||
function addChoices(r) {
|
||||
var ul = newList("choices");
|
||||
document.getElementById("choiceCaption").innerHTML = '';
|
||||
|
@ -214,8 +211,10 @@ function momentEnd(m, seeked) {
|
|||
|
||||
var timerId = 0;
|
||||
var lastMs = 0;
|
||||
var currentSegment;
|
||||
var lastSegment = null;
|
||||
var segmentTransition = false;
|
||||
var lastMoments = [];
|
||||
|
||||
function ontimeupdate(evt) {
|
||||
var ms = getCurrentMs();
|
||||
|
@ -264,27 +263,27 @@ function ontimeupdate(evt) {
|
|||
var naturalTransition = !seeked || segmentTransition;
|
||||
segmentTransition = false;
|
||||
|
||||
var moments = getMoments(currentSegment, ms);
|
||||
for (let k in currentMoments)
|
||||
if (!(k in moments)) {
|
||||
momentEnd(currentMoments[k], !naturalTransition);
|
||||
placeChanged = true;
|
||||
}
|
||||
for (let k in currentMoments)
|
||||
if (k in moments)
|
||||
momentUpdate(currentMoments[k], ms);
|
||||
for (let k in moments)
|
||||
var currentMoments = getMoments(currentSegment, ms);
|
||||
for (let k in lastMoments)
|
||||
if (!(k in currentMoments)) {
|
||||
momentStart(moments[k], !naturalTransition);
|
||||
momentEnd(lastMoments[k], !naturalTransition);
|
||||
placeChanged = true;
|
||||
}
|
||||
currentMoments = moments;
|
||||
for (let k in lastMoments)
|
||||
if (k in currentMoments)
|
||||
momentUpdate(lastMoments[k], ms);
|
||||
for (let k in currentMoments)
|
||||
if (!(k in lastMoments)) {
|
||||
momentStart(currentMoments[k], !naturalTransition);
|
||||
placeChanged = true;
|
||||
}
|
||||
lastMoments = currentMoments;
|
||||
|
||||
if (placeChanged) {
|
||||
let title = 'Bandersnatch';
|
||||
title += ' - Chapter ' + currentSegment;
|
||||
for (let k in moments) {
|
||||
let m = moments[k];
|
||||
for (let k in currentMoments) {
|
||||
let m = currentMoments[k];
|
||||
if (m.type.substr(0, 6) == 'scene:') {
|
||||
if (m.id && m.id in choicePoints && choicePoints[m.id].description)
|
||||
title += ' - Choice "' + choicePoints[m.id].description + '"';
|
||||
|
@ -297,8 +296,8 @@ function ontimeupdate(evt) {
|
|||
let hash = currentSegment;
|
||||
// Pick the moment which starts closer to the current timestamp.
|
||||
let bestMomentStart = segmentMap.segments[currentSegment].startTimeMs;
|
||||
for (let k in moments) {
|
||||
let m = moments[k];
|
||||
for (let k in currentMoments) {
|
||||
let m = currentMoments[k];
|
||||
if (m.startMs > bestMomentStart) {
|
||||
hash = k;
|
||||
bestMomentStart = m.startMs;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue