diff --git a/src/003-assets/CSS/endWeekAnim.css b/src/003-assets/CSS/endWeekAnim.css new file mode 100644 index 0000000000000000000000000000000000000000..5204f7f569a5d15e1387ff274059784b35e18eb1 --- /dev/null +++ b/src/003-assets/CSS/endWeekAnim.css @@ -0,0 +1,15 @@ +#init-screen > div.endweek-titleblock { + display: block; + margin-top: 5%; +} + +div.endweek-maintitle { + display: block; + margin-bottom: 0.5em; +} + +div.endweek-subtitle { + display: block; + font-size: smaller; + font-weight: lighter; +} diff --git a/src/endWeek/endWeek.js b/src/endWeek/endWeek.js index 7ef4ccfc42363b602100d61ade5d346cd019449c..fd821723648583d827faedd2b8fe235dbb4755e8 100644 --- a/src/endWeek/endWeek.js +++ b/src/endWeek/endWeek.js @@ -331,7 +331,7 @@ window.endWeek = (function() { function confirmEndWeek() { if (!V.sideBarOptions.confirmWeekEnd || confirm("Are you sure you want to end the week?")) { - window.LoadLockID = LoadScreen.lock(); + App.UI.EndWeekAnim.start(); setTimeout(doEndWeek, 0); // execute immediately, but after the event loop runs, so the loading screen gets shown } } diff --git a/src/endWeek/endWeekAnim.js b/src/endWeek/endWeekAnim.js new file mode 100644 index 0000000000000000000000000000000000000000..0c6a94c40ac75f32b1134eb5b8c564a8d6f57e57 --- /dev/null +++ b/src/endWeek/endWeekAnim.js @@ -0,0 +1,35 @@ +App.UI.EndWeekAnim = (function() { + let loadLockID = -1; + let infoDiv = null; + + function makeInfoDiv() { + infoDiv = $(` + <div class="endweek-titleblock"> + <div class="endweek-maintitle">Processing week ${V.week}...</div> + <div class="endweek-subtitle">${V.arcologies[0].name} | ${V.slaves.length} slaves</div> + </div> + `); + } + + function start() { + if (loadLockID === -1) { + makeInfoDiv(); + $("#init-screen").append(infoDiv); + loadLockID = LoadScreen.lock(); + } + } + + function end() { + if (loadLockID !== -1) { + infoDiv.remove(); + infoDiv = null; + setTimeout(LoadScreen.unlock(loadLockID), 0); + loadLockID = -1; + } + } + + return { + start, + end + }; +})(); diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw index dad68e96fb5fb912269ee2119f09b225f70de189..4de3adc39d8e60bf391673649b0c5ba7d98d458e 100644 --- a/src/uncategorized/slaveAssignmentsReport.tw +++ b/src/uncategorized/slaveAssignmentsReport.tw @@ -1125,4 +1125,4 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue <</if>> /* release loading screen as soon as the event loop can run */ -<<run setTimeout(LoadScreen.unlock, 0, window.LoadLockID)>> +<<run App.UI.EndWeekAnim.end()>>