Merge pull request #141 from Pokachi/main

added a scenario name splash on placing down scenarios and setting to toggle it
This commit is contained in:
Chr1Z 2023-01-01 23:17:29 +01:00 committed by GitHub
commit 3797b3ef2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 2 deletions

View File

@ -1 +1 @@
{"optionPanel":{"showChaosBagManager":false,"showCleanUpHelper":false,"showDrawButton":false,"showHandHelper":[],"showNavigationOverlay":false,"showTokenArranger":false,"useClueClickers":false,"useSnapTags":true}} {"optionPanel":{"showChaosBagManager":false,"showCleanUpHelper":false,"showDrawButton":false,"showHandHelper":[],"showNavigationOverlay":false,"showTokenArranger":false,"useClueClickers":false,"useSnapTags":true,"showTitleSplash":true}}

View File

@ -34,6 +34,7 @@ local chaosTokens = {}
local chaosTokensLastMat = nil local chaosTokensLastMat = nil
local IS_RESHUFFLING = false local IS_RESHUFFLING = false
local bagSearchers = {} local bagSearchers = {}
local hideTitleSplashWaitFunctionId = nil
local playmatAPI = require("playermat/PlaymatApi") local playmatAPI = require("playermat/PlaymatApi")
--------------------------------------------------------- ---------------------------------------------------------
@ -818,6 +819,10 @@ function applyOptionPanelChange(id, state)
-- update master clue counter -- update master clue counter
getObjectFromGUID("4a3aa4").setVar("useClickableCounters", state) getObjectFromGUID("4a3aa4").setVar("useClickableCounters", state)
-- option: Show Title on placing scenarios
elseif id == "showTitleSplash" then
optionPanel[id] = state
-- option: Show token arranger -- option: Show token arranger
elseif id == "showTokenArranger" then elseif id == "showTokenArranger" then
-- delete previously pulled out tokens -- delete previously pulled out tokens
@ -931,7 +936,7 @@ function onClick_defaultSettings()
for id, _ in pairs(optionPanel) do for id, _ in pairs(optionPanel) do
local state = false local state = false
-- override for settings that are enabled by default -- override for settings that are enabled by default
if id == "useSnapTags" then if id == "useSnapTags" or id == "showTitleSplash" then
state = true state = true
end end
applyOptionPanelChange(id, state) applyOptionPanelChange(id, state)
@ -942,6 +947,7 @@ function onClick_defaultSettings()
useSnapTags = true, useSnapTags = true,
showDrawButton = false, showDrawButton = false,
useClueClickers = false, useClueClickers = false,
showTitleSplash = true,
showTokenArranger = false, showTokenArranger = false,
showCleanUpHelper = false, showCleanUpHelper = false,
showHandHelper = {}, showHandHelper = {},
@ -952,3 +958,25 @@ function onClick_defaultSettings()
-- update UI -- update UI
updateOptionPanelState() updateOptionPanelState()
end end
-- splash scenario title on setup
function titleSplash(scenarioName)
if optionPanel['showTitleSplash'] then
-- if there's any ongoing title being displayed, hide it and cancel the waiting function
if hideTitleSplashWaitFunctionId then
Wait.stop(hideTitleSplashWaitFunctionId)
hideTitleSplashWaitFunctionId = nil
UI.setAttribute('title_splash', 'active', false)
end
-- display scenario name and set a 4 seconds (2 seconds animation and 2 seconds on screen)
-- wait timer to hide the scenario name
UI.setValue('title_splash', scenarioName)
UI.show('title_splash')
hideTitleSplashWaitFunctionId = Wait.time(function()
UI.hide('title_splash')
hideTitleSplashWaitFunctionId = nil
end, 4)
end
end

View File

@ -55,6 +55,7 @@ function resetTokensIfInDeckZone(container, object)
end end
function fireScenarioChangedEvent() function fireScenarioChangedEvent()
Global.call('titleSplash', currentScenario)
playArea.onScenarioChanged(currentScenario) playArea.onScenarioChanged(currentScenario)
end end

View File

@ -104,4 +104,17 @@
</Panel> </Panel>
</VerticalLayout> </VerticalLayout>
<!-- Title Splash when starting a scenario -->
<Text id="title_splash"
fontSize="150"
font="font_teutonic-arkham"
outline="black"
outlineSize="3 -3"
showAnimation="FadeIn"
hideAnimation="FadeOut"
active="false"
animationDuration="2"
horizontalOverflow="Wrap">
</Text>
<Include src="OptionPanel.xml"/> <Include src="OptionPanel.xml"/>

View File

@ -142,6 +142,20 @@
</Cell> </Cell>
</Row> </Row>
<!-- Option: splash scenario name on setup -->
<Row class="option-text">
<Cell class="option-text">
<VerticalLayout class="text-column">
<Text class="option-header">Show Scenario Title on Setup</Text>
<Text class="description">Fade in the name of the scenario for 2 seconds when placing down a scenario.</Text>
</VerticalLayout>
</Cell>
<Cell class="option-button">
<Toggle id="showTitleSplash"
onValueChanged="onClick_toggleOption(showTitleSplash)"/>
</Cell>
</Row>
<!-- Group: fan-made accessories --> <!-- Group: fan-made accessories -->
<Row class="group-header"> <Row class="group-header">
<Cell class="group-header"> <Cell class="group-header">