Tied in my recent Android flick gesture addition to a Scroll() function. GameState now has a virtual function OnScroll() call that, by default is a no-op; each game state can choose to override how to respond to flick gestures. I've added one such override in the Deck Editor so that a flick up/down acts like the psp button up/down for scrolling between color filters.
This commit is contained in:
@@ -89,6 +89,8 @@ public:
|
||||
virtual void Pause();
|
||||
virtual void Resume();
|
||||
|
||||
virtual void OnScroll(int inXVelocity, int inYVelocity);
|
||||
|
||||
void LoadGameStates();
|
||||
void SetNextState(int state);
|
||||
void DoTransition(int trans, int tostate, float dur = -1, bool animonly = false);
|
||||
|
||||
@@ -55,6 +55,10 @@ public:
|
||||
virtual void Start(){}
|
||||
virtual void End(){}
|
||||
|
||||
virtual void OnScroll(int inXVelocity, int inYVelocity)
|
||||
{
|
||||
}
|
||||
|
||||
virtual void Update(float dt) = 0;
|
||||
virtual void Render() = 0;
|
||||
|
||||
|
||||
@@ -141,6 +141,8 @@ public:
|
||||
int loadDeck(int deckid);
|
||||
void LoadDeckStatistics(int deckId);
|
||||
|
||||
void OnScroll(int inXVelocity, int inYVelocity);
|
||||
|
||||
void buildEditorMenu();
|
||||
virtual void ButtonPressed(int controllerId, int controlId);
|
||||
};
|
||||
|
||||
@@ -424,6 +424,14 @@ void GameApp::Render()
|
||||
|
||||
}
|
||||
|
||||
void GameApp::OnScroll(int inXVelocity, int inYVelocity)
|
||||
{
|
||||
if (mCurrentState != NULL)
|
||||
{
|
||||
mCurrentState->OnScroll(inXVelocity, inYVelocity);
|
||||
}
|
||||
}
|
||||
|
||||
void GameApp::SetNextState(int state)
|
||||
{
|
||||
mNextState = mGameStates[state];
|
||||
|
||||
@@ -1668,3 +1668,12 @@ void GameStateDeckViewer::ButtonPressed(int controllerId, int controlId)
|
||||
}
|
||||
}
|
||||
|
||||
void GameStateDeckViewer::OnScroll(int inXVelocity, int inYVelocity)
|
||||
{
|
||||
if (abs(inYVelocity) > 300)
|
||||
{
|
||||
bool flickUpwards = (inYVelocity < 0);
|
||||
mEngine->HoldKey_NoRepeat(flickUpwards ? JGE_BTN_DOWN : JGE_BTN_UP);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user