Fixed attractModeNextTime reset handler.

This commit is contained in:
Pieter Hulshoff 2019-04-15 21:31:03 +02:00
parent 54c1c2d7e9
commit 801434188b
3 changed files with 19 additions and 5 deletions

View File

@ -28,11 +28,11 @@ AttractMode::AttractMode()
{
}
void AttractMode::reset()
void AttractMode::reset( bool set )
{
elapsedTime_ = 0;
isActive_ = false;
isSet_ = false;
isSet_ = set;
activeTime_ = 0;
}
@ -41,7 +41,14 @@ void AttractMode::update(float dt, Page &page)
elapsedTime_ += dt;
// enable attract mode when idling for the expected time. Disable if idle time is set to 0.
if(!isActive_ && ((elapsedTime_ > idleTime && idleTime > 0) || (isSet_ && elapsedTime_ > idleNextTime && idleNextTime > 0)))
if(!isActive_ && (elapsedTime_ > idleTime && idleTime > 0))
{
isActive_ = true;
isSet_ = true;
elapsedTime_ = 0;
activeTime_ = ((float)((1000+rand()) % 5000)) / 1000;
}
if(!isActive_ && isSet_ && elapsedTime_ > idleNextTime && idleNextTime > 0)
{
isActive_ = true;
isSet_ = true;
@ -72,3 +79,9 @@ bool AttractMode::isActive()
{
return isActive_;
}
bool AttractMode::isSet()
{
return isSet_;
}

View File

@ -21,11 +21,12 @@ class AttractMode
{
public:
AttractMode();
void reset();
void reset( bool set = false );
void update(float dt, Page &page);
float idleTime;
float idleNextTime;
bool isActive();
bool isSet();
private:
bool isActive_;

View File

@ -1141,7 +1141,7 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput( Page *page )
page->resetScrollPeriod( );
if (page->isMenuScrolling( ))
{
attract_.reset( );
attract_.reset( attract_.isSet( ) );
state = RETROFE_HIGHLIGHT_REQUEST;
}
}