bool PlayerVehicle::OnTrigger(HOBJECT hSender, const CParsedMsg &cMsg) { static CParsedMsg::CToken s_cTok_Activate( "ACTIVATE" ); static CParsedMsg::CToken s_cTok_Lock( "LOCK" ); static CParsedMsg::CToken s_cTok_UnLock( "UNLOCK" ); if (cMsg.GetArg(0) == s_cTok_Activate) { // Vehicle already being ridden. if( m_bRidden ) return true; DoActivate(hSender); // Let Prop have a shot at it so activate commands are processed... if (!m_bLocked) { return Prop::OnTrigger(hSender, cMsg); } } else if( cMsg.GetArg(0) == s_cTok_Lock ) { m_bLocked = true; } else if( cMsg.GetArg(0) == s_cTok_UnLock ) { m_bLocked = false; } else { return Prop::OnTrigger(hSender, cMsg); } return true; }
/* ================== Sys_SendKeyEvents ================== */ void Sys_SendKeyEvents (void) { Boolean gotEvent; EventRecord event; if ( !glConfig.isFullscreen || sys_waitNextEvent->value ) { // this call involves 68k code and task switching. // do it on the desktop, or if they explicitly ask for // it when fullscreen gotEvent = WaitNextEvent(everyEvent, &event, 0, nil); } else { gotEvent = GetOSEvent( everyEvent, &event ); } // generate faked events from modifer changes Sys_ModifierEvents( event.modifiers ); sys_lastEventTic = event.when; if ( !gotEvent ) { return; } if ( Sys_ConsoleEvent(&event) ) { return; } switch(event.what) { case mouseDown: DoMouseDown(&event); break; case mouseUp: DoMouseUp(&event); break; case keyDown: DoKeyDown(&event); break; case keyUp: DoKeyUp(&event); break; case autoKey: DoKeyDown(&event); break; case updateEvt: DoUpdate((WindowPtr) event.message); break; case diskEvt: DoDiskEvent(&event); break; case activateEvt: DoActivate((WindowPtr) event.message, event.modifiers); break; case osEvt: DoOSEvent(&event); break; default: break; } }
uint32 Intelligence::ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead) { if (!g_pLTServer) return 0; switch(messageID) { case MID_TRIGGER: { const char* szMsg = (const char*)g_pLTServer->ReadFromMessageDWord(hRead); // ConParse does not destroy szMsg, so this is safe ConParse parse; parse.Init((char*)szMsg); while (g_pLTServer->Common()->Parse(&parse) == LT_OK) { if (parse.m_nArgs > 0 && parse.m_Args[0]) { if (_stricmp(parse.m_Args[0], s_szActivate) == 0) { if (!m_bPhotoOnly) { DoActivate(hSender); } } else if (_stricmp(parse.m_Args[0], s_szGadget) == 0) { if (m_bPhotoOnly) { HandleGadgetMsg(hSender, parse); } } else if (_stricmp(parse.m_Args[0], s_szRespawn) == 0) { SetNextUpdate( m_fRespawnDelay / g_IntelRespawnScale.GetFloat(1.0f)); } } } } break; default : break; } return Prop::ObjectMessageFn(hSender, messageID, hRead); }
uint32 PlayerVehicle::ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead) { if (!g_pLTServer) return 0; switch(messageID) { case MID_TRIGGER: { const char* szMsg = (const char*)g_pLTServer->ReadFromMessageDWord(hRead); if (szMsg && (_stricmp(szMsg, s_szActivate) == 0)) { DoActivate(hSender); } } break; default : break; } return Prop::ObjectMessageFn(hSender, messageID, hRead); }
void wxFlatButton::OnLeftUp(wxMouseEvent& event) { DoActivate(); }
FX_BOOL CFWL_NoteDriver::DispatchMessage(CFWL_Message* pMessage, IFWL_Widget* pMessageForm) { FX_BOOL bRet = FALSE; switch (pMessage->GetClassID()) { case FWL_MSGHASH_Activate: { bRet = DoActivate(static_cast<CFWL_MsgActivate*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_Deactivate: { bRet = DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_SetFocus: { bRet = DoSetFocus(static_cast<CFWL_MsgSetFocus*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_KillFocus: { bRet = DoKillFocus(static_cast<CFWL_MsgKillFocus*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_Key: { bRet = DoKey(static_cast<CFWL_MsgKey*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_Mouse: { bRet = DoMouse(static_cast<CFWL_MsgMouse*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_MouseWheel: { bRet = DoWheel(static_cast<CFWL_MsgMouseWheel*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_Size: { bRet = DoSize(static_cast<CFWL_MsgSize*>(pMessage)); break; } case FWL_MSGHASH_Cursor: { bRet = TRUE; break; } case FWL_MSGHASH_WindowMove: { bRet = DoWindowMove(static_cast<CFWL_MsgWindowMove*>(pMessage), pMessageForm); break; } case FWL_MSGHASH_DropFiles: { bRet = DoDragFiles(static_cast<CFWL_MsgDropFiles*>(pMessage), pMessageForm); break; } default: { bRet = TRUE; break; } } if (bRet) { IFWL_WidgetDelegate* pDelegate = pMessage->m_pDstTarget->SetDelegate(NULL); if (pDelegate) { pDelegate->OnProcessMessage(pMessage); } } return bRet; }
void Intelligence::HandleGadgetMsg(HOBJECT hSender, ConParse & parse) { DoActivate(hSender); }