GameEndWnd.c
资源名称:pfly523.rar [点击查看]
上传用户:shyhai1508
上传日期:2007-06-11
资源大小:48k
文件大小:2k
源码类别:
BREW编程
开发平台:
Visual C++
- #include "GameEndWnd.h"
- #include "pfly.h"
- #include "pfly_res.h"
- #include "commondef.h"
- #include "GameWnd.h"
- #include "ScoreListWnd.h"
- static void GameEndWnd_Update(GameEndWnd* pthis);
- static boolean GameEndWnd_HandleKeyEvent(GameEndWnd* pthis, AEEEvent eCode, uint16 wParam);
- boolean GameEndWnd_New(GameEndWnd *pthis, PflyApp* pMe)
- {
- pthis->pMe = pMe;
- return TRUE;
- }
- boolean GameEndWnd_Open(GameEndWnd *pthis)
- {
- pthis->isSucceed = ScoreListWnd_AddToList(&pthis->pMe->score, pthis->pMe->game.layer);
- GameEndWnd_Update(pthis);
- return TRUE;
- }
- void GameEndWnd_Close(GameEndWnd *pthis)
- {
- }
- boolean GameEndWnd_HandleEvent(GameEndWnd* pthis, AEEEvent eCode, uint16 wParam, uint32 dwParam)
- {
- switch (eCode) {
- case EVT_APP_SUSPEND:
- return TRUE;
- case EVT_APP_RESUME:
- GameEndWnd_Update(pthis);
- return TRUE;
- default:
- return GameEndWnd_HandleKeyEvent(pthis, eCode, wParam);
- }
- }
- void GameEndWnd_Free(GameEndWnd* pthis)
- {
- }
- static void GameEndWnd_Update(GameEndWnd* pthis)
- {
- IDisplay *m_pIDisplay = pthis->pMe->a.m_pIDisplay;
- IShell *m_pIShell = pthis->pMe->a.m_pIShell;
- AECHAR cat[MAX_STRING_SIZE];
- AECHAR str[MAX_STRING_SIZE];
- char temp[MAX_STRING_SIZE];
- IDISPLAY_ClearScreen(m_pIDisplay);
- IDISPLAY_FillRect(m_pIDisplay, NULL, MAKE_RGB(128,138,238));
- ISHELL_LoadResString(m_pIShell, PFLY_RES_FILE, IDS_HINTSTR, str, MAX_STRING_SIZE);
- SPRINTF(temp, "%d", pthis->pMe->game.layer);
- STRTOWSTR(temp, cat, MAX_STRING_SIZE);
- WSTRCAT(str, cat);
- IDISPLAY_DrawText(m_pIDisplay, AEE_FONT_NORMAL, str, -1, 0,
- 30, NULL, IDF_ALIGN_CENTER | IDF_TEXT_TRANSPARENT);
- if(pthis->isSucceed) {
- ISHELL_LoadResString(m_pIShell, PFLY_RES_FILE, IDS_SUCCSTR, str, MAX_STRING_SIZE);
- } else {
- ISHELL_LoadResString(m_pIShell, PFLY_RES_FILE, IDS_LOSTSTR, str, MAX_STRING_SIZE);
- }
- IDISPLAY_DrawText(m_pIDisplay, AEE_FONT_NORMAL, str, -1, 0,
- 70, NULL, IDF_ALIGN_CENTER | IDF_TEXT_TRANSPARENT);
- IDISPLAY_Update (m_pIDisplay);
- }
- static boolean GameEndWnd_HandleKeyEvent(GameEndWnd* pthis, AEEEvent eCode, uint16 wParam)
- {
- if( eCode == EVT_KEY) {
- switch(wParam) {
- case AVK_END:
- //此处不处理
- break;
- default:
- Pfly_SetActiveWnd(pthis->pMe, IDW_MAINMENU);
- return TRUE;
- }
- }
- return FALSE;
- }
English
