📄 blockarbiter.cpp
字号:
#include "blockArbiter.h"
#include "superball_res.h"
#include "blockdata.h"
#include "blockview.h"
#include "blockmenuview.h"
#include "blockapp.h"
BlockArbiter::BlockArbiter(BlockApp *app) : AppArbiter((AEEApplet *)app)
{
BlockData* data = new BlockData(app);
BlockView* game_view = new BlockView(app);
BlockMenuView* menu_view = new BlockMenuView(app);
HtmlCtlView* about_view = new HtmlCtlView((AEEApplet *)app);
HtmlCtlView* help_view = new HtmlCtlView((AEEApplet *)app);
SplashView* splash_view = new SplashView((AEEApplet *)app);
ScoreListView* score_view = new ScoreListView(app);
////SerialObj::PrepareFile(app->m_pIShell, 1, 1024);
SetTimer(0, IDW_GAME, 50, NULL, NULL);
SetTimer(1, IDW_MENU, 500, NULL, NULL);
RegisterData(data);
RegisterView(IDW_SPLASH, splash_view, TRUE);
RegisterView(IDW_MENU, menu_view);
RegisterView(IDW_GAME, game_view);
RegisterView(IDW_HELP, help_view);
RegisterView(IDW_ABOUT, about_view);
RegisterView(IDW_SCORE, score_view);
splash_view->SetSplashPic(SUPERBALL_RES_FILE,IDI_SPLASH);
splash_view->SetNextWnd(IDW_MENU);
about_view->SetFileName("about.htm");
about_view->SetReplace(TRUE);
help_view->SetFileName("help.htm");
////set highscore tile
score_view->SetTitle(SUPERBALL_RES_FILE, IDS_MENUITEM_SCORE);
////set highscore background color
score_view->SetColor(MAKE_RGB(255, 255, 0), MAKE_RGB(255,255,255));
////set highscore bakcground pic
score_view->SetBKImage(SUPERBALL_RES_FILE, IDI_TILE16, false);
}
BlockArbiter::~BlockArbiter()
{
}
AppResult BlockArbiter::Notify(int32 status)
{
return m_viewList[m_activeViewID]->Update();
}
ETStatus BlockArbiter::HandleAppEvent(AEEEvent evtCode, uint16 param16, uint32 param32)
{
if(EVT_APP_START == evtCode)
{
m_viewList[m_activeViewID]->Open();
m_viewList[m_activeViewID]->Update();
return ET_PROCESSED;
}
else if(EVT_APP_SUSPEND == evtCode)
{
m_viewList[m_activeViewID]->Disable();
return ET_PROCESSED;
}
else if(EVT_APP_RESUME == evtCode)
{
m_viewList[m_activeViewID]->Enable();
m_viewList[m_activeViewID]->Update();
return ET_PROCESSED;
}
else if(EVT_APP_NO_SLEEP == evtCode)
return ET_PROCESSED;
return AppArbiter::HandleAppEvent(evtCode, param16, param32);
}
ETStatus BlockArbiter::HandleKeyEvent(AEEEvent evtCode, uint16 param16, uint32 param32)
{
if (evtCode == EVT_KEY && param16 == AVK_CLR)
{
switch(m_activeViewID)
{
case IDW_GAME:
case IDW_ABOUT:
case IDW_HELP:
case IDW_SCORE:
Arbit(IDW_MENU);
return ET_PROCESSED;
break;
}
}
return AppArbiter::HandleKeyEvent(evtCode, param16, param32);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -