game: allow "tip of the day" style tutorials on startup

This commit is contained in:
Crypto City 2021-09-09 11:30:04 +00:00
parent 29ac4fb42a
commit d9dae925ee

View File

@ -224,6 +224,8 @@ const float TOUCH_SENSITIVITY = 2.0f;
#define DEFAULT_TERRAIN_CACHE_SIZE 256
#define CONFIG_ENABLE_TUTORIAL "enable-tutorial"
#define DEFAULT_ENABLE_TUTORIAL true
#define CONFIG_STARTUP_TUTORIAL "startup-tutorial"
#define DEFAULT_STARTUP_TUTORIAL 0
enum SelectionMode
{
@ -2656,10 +2658,15 @@ void CryptoCityUrho3D::HandleUpdate(StringHash eventType, VariantMap& eventData)
startupTutorialTimer_.Reset();
else if (!startupTutorialTriggered_ && startupTutorialTimer_.GetMSec(false) >= 3000)
{
const uint32_t startup_tutorial = GetConfigValue(CONFIG_TUTORIAL_STATE_SECTION, CONFIG_STARTUP_TUTORIAL, DEFAULT_STARTUP_TUTORIAL);
VariantMap eventData;
eventData[TutorialTrigger::P_TAG] = "startup";
String tag = "startup";
if (startup_tutorial > DEFAULT_STARTUP_TUTORIAL)
tag += "-" + String(startup_tutorial);
eventData[TutorialTrigger::P_TAG] = tag;
HandleTutorialTrigger(E_CRYPTOCITY_TUTORIAL_TRIGGER, eventData);
startupTutorialTriggered_ = true;
SetConfigValue(CONFIG_TUTORIAL_STATE_SECTION, CONFIG_STARTUP_TUTORIAL, startup_tutorial + 1);
}
if (++update_count == 2)