void CRS_ManContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent) { CCoeControl::HandlePointerEventL(aPointerEvent); //先判断可能的来电事件 if (iCallStatus == CTelephony::EStatusRinging) { iData->iGameState = TEnum::EControlPaused; ReportEventL(MCoeControlObserver::EEventStateChanged); return; } //分析其它状态 if (iData->iGameState == TEnum::EPlaying) { switch (aPointerEvent.iType) { case TPointerEvent::EButton1Down: { iGameKey = iActionAnalyst.GetGameKey(aPointerEvent.iPosition); break; } case TPointerEvent::EButton1Up: { iGameKey = TEnum::EKeyNone; break; } default: { break; } } } else if (iData->iGameState == TEnum::EControlAward && (iNormalDeadPlayer->iIsPlayCompleted || iDropDeadPlayer->iIsPlayCompleted)) { //游戏结束 Congratulation(); // //iData->ResetDataForNewGame(); ReportEventL(MCoeControlObserver::EEventStateChanged); return; } //处理暂停 if (iGameKey == TEnum::EKeyPause) { iGfxTimer->Pause(); iData->iGameState = TEnum::EControlPaused; ReportEventL(MCoeControlObserver::EEventStateChanged); } //HandleDebugGameKey(); }
EXPORT_C TKeyResponse CEikButtonBase::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) { const TInt code=aKeyEvent.iCode; if (code==EKeyDownArrow || code ==EKeyUpArrow) return(EKeyWasNotConsumed); if (aType!=EEventKey) return(EKeyWasConsumed); CEikButtonBase::TState oldState=State(); switch (code) { case EKeyLeftArrow: case EKeyTab: case EKeyRightArrow: Animate(); default: ; } TKeyResponse ret=EKeyWasNotConsumed; if (State()!=oldState) { ReportEventL(MCoeControlObserver::EEventStateChanged); ret=EKeyWasConsumed; } return ret; }
void CBuddycloudEditPlaceList::NotificationEvent(TBuddycloudLogicNotificationType aEvent, TInt /*aId*/) { if(aEvent == ENotificationEditPlaceRequested) { LoadL(); } else if(aEvent == ENotificationEditPlaceCompleted) { ReportEventL(MCoeControlObserver::EEventRequestExit); } }
TKeyResponse CRS_ManContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType) { if (aType == EEventKey) { iGfxTimer->Pause(); iData->iGameState = TEnum::EControlPaused; ReportEventL(MCoeControlObserver::EEventStateChanged); } return EKeyWasNotConsumed; }
void CAwardContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent) { CCoeControl::HandlePointerEventL(aPointerEvent); // 检查按钮是否都处于正常显示状态 if (!IsButtonNormalDisplay()) { return; } switch (aPointerEvent.iType) { case TPointerEvent::EButton1Down: { if (iReturn.iWorldPosition.Contains(aPointerEvent.iPosition)) { iReturn.iIsButtonDown = ETrue; return; } break; } case TPointerEvent::EButton1Up: { if (iReturn.iIsButtonDown) { if (iReturn.iWorldPosition.Contains(aPointerEvent.iPosition)) { iGfxTimer->Pause(); iData->iPlayerInfo.WriterPlayerInfo(); iData->iGameState = TEnum::EControlMainMenu; iData->ResetDataForNewGame(); ReportEventL(MCoeControlObserver::EEventStateChanged); return; } else { iReturn.iIsButtonDown = EFalse; } } } default: { break; } } }
TKeyResponse CHlpSearchPrompt::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType) { if (aKeyEvent.iCode == EKeyEnter && aType == EEventKey) { ReportEventL(EEventStateChanged); return EKeyWasConsumed; } else if (aKeyEvent.iCode == EKeyEscape && aType == EEventKey) { MakeVisible(EFalse); return EKeyWasConsumed; } else { iHideTimer->Cancel(); iHideTimer->Start(KTimeOutPeriod, KTimeOutPeriod, TCallBack(HandleTimerExpiredL, this)); return iEdwin->OfferKeyEventL(aKeyEvent, aType); } }
void CRS_ManContainer::HandleDebugGameKey() { switch (iGameKey) { case TEnum::EFramesAdd: { AddFrame(); iGameKey = TEnum::EKeyNone; break; } case TEnum::EFramesDesc: { DescFrame(); iGameKey = TEnum::EKeyNone; break; } case TEnum::EScrollAdd: { iData->iScroll++; iGameKey = TEnum::EKeyNone; break; } case TEnum::EScrollDesc: { if (iData->iScroll > 0) { iData->iScroll--; } iGameKey = TEnum::EKeyNone; break; } case TEnum::EKeyPause: { iGfxTimer->Pause(); iData->iGameState = TEnum::EControlPaused; ReportEventL(MCoeControlObserver::EEventStateChanged); break; } } }
void CPausedContainer::HandleButtonUp(TPoint aPoint) { //只有当抬起时所在的按钮正是处于ButtonDown的情况时,才能触发相应的事件 if (iResume.iIsButtonDown) { if (iResume.iWorldPosition.Contains(aPoint)) { iData->iGameState = TEnum::EPlaying; ReportEventL(MCoeControlObserver::EEventStateChanged); return; } } // if (iNewGame.iIsButtonDown) { if (iNewGame.iWorldPosition.Contains(aPoint)) { iData->iGameState = TEnum::EWaitingStart; //iData数据重置 iData->ResetDataForNewGame(); ReportEventL(MCoeControlObserver::EEventStateChanged); return; } } if (iOption.iIsButtonDown) { if (iOption.iWorldPosition.Contains(aPoint)) { iData->iPreviousState = TEnum::EControlPaused; iData->iGameState = TEnum::EControlOption; ReportEventL(MCoeControlObserver::EEventStateChanged); return; } } if (iHelp.iIsButtonDown) { if (iHelp.iWorldPosition.Contains(aPoint)) { iData->iPreviousState = TEnum::EControlPaused; iData->iGameState = TEnum::EControlHelp; ReportEventL(MCoeControlObserver::EEventStateChanged); return; } } if (iReturn.iIsButtonDown) { if (iReturn.iWorldPosition.Contains(aPoint)) { iData->iGameState = TEnum::EControlMainMenu; //返回主界面 意味着放弃当前Man的所有信息 //iData数据重置 iData->ResetDataForNewGame(); ReportEventL(MCoeControlObserver::EEventStateChanged); return; } } iResume.iIsButtonDown = EFalse; iNewGame.iIsButtonDown = EFalse; iOption.iIsButtonDown = EFalse; iHelp.iIsButtonDown = EFalse; iReturn.iIsButtonDown = EFalse; }