virtual void ProcessEvent(EFlowEvent event, SActivationInfo *pActInfo) { switch (event) { case eFE_Activate: { if(IsPortActive(pActInfo, EIP_FailCurrentScan)) { SHUDEvent _event(eHUDEvent_OnControlCurrentTacticalScan); _event.AddData(SHUDEventData(false)); // Delay result _event.AddData(SHUDEventData(false)); CHUDEventDispatcher::CallEvent(_event); ActivateOutput(pActInfo, EOP_Failed, true); } else if(IsPortActive(pActInfo, EIP_SucceedCurrentScan)) { SHUDEvent _event(eHUDEvent_OnControlCurrentTacticalScan); _event.AddData(SHUDEventData(false)); // Delay result _event.AddData(SHUDEventData(true)); CHUDEventDispatcher::CallEvent(_event); ActivateOutput(pActInfo, EOP_Succeeded, true); } break; } } }
void OnHUDEvent(const SHUDEvent& event) { switch(event.eventType) { case eHUDEvent_OnScanningComplete: { if(m_enabled) { EntityId scannedEntityId = static_cast<EntityId>(event.GetData(0).m_int); if (scannedEntityId != m_entityId) // Only selected entity break; IEntity* pScannedEntity = gEnv->pEntitySystem->GetEntity(scannedEntityId); if(!pScannedEntity) { SetEnabled(false); break; } if (m_delayResult) { SHUDEvent _event(eHUDEvent_OnControlCurrentTacticalScan); _event.AddData(SHUDEventData(true)); // Delay result CHUDEventDispatcher::CallEvent(_event); } ActivateOutput(&m_actInfo, EOP_OnEvent, true); ActivateOutput(&m_actInfo, EOP_EntityID, m_entityId); } break; } } }
void PauseLayer::menuSelectLevelCallback(Ref* pSender) { this->removeFromParent(); Director::getInstance()->resume(); EventCustom _event("backSelectLevel"); _eventDispatcher->dispatchEvent(&_event); }
void _event(state_stack *stack, SDL_Event *evt) { state_desc *top = (state_desc*) table_ind(stack, stack->m_len-1); _talk_state *st = (_talk_state*) top->m_pData; input_event mapped; int i, err; switch (st->m_iState) { case _STARTED: err = lua_resume(st->m_pThread, nullptr, 0); if (_util_lua_done(err, top)) { return; } _event(stack, evt); break; case _WAIT_CHOICE: i = menu_input(st->m_pChoices, evt); if (i == -1) { return; } lua_pushnumber(st->m_pThread, i + 1); err = lua_resume(st->m_pThread, nullptr, 1); if (_util_lua_done(err, top)) { return; } break; case _WAIT_ANY: input_get_event(evt, &mapped); if (mapped.m_iType == IN_OFF || evt->type == SDL_MOUSEBUTTONUP) { err = lua_resume(st->m_pThread, nullptr, 0); if (_util_lua_done(err, top)) { return; } } break; case _STOPPED: top->m_isDead = true; break; } }
Event& Machine::add_event( const Tag & nameEvent ) { assert( _isvalid( _event( nameEvent ) ) == false ); auto event = new Event( *this ); event->set_name( nameEvent ); _events.push_back( event ); return *_events.back(); }
void IdleEvent::send() { #if IDLE_WITH_TIMER timer_p->start(); #else if (_under_process) return; _under_process=true; emit _event(); #endif }
IdleEvent::IdleEvent(QObject *wmain,void (*callback)(QObject *)):QObject(wmain) { #if IDLE_WITH_TIMER timer_p=new QTimer(this); timer_p->setInterval(50); timer_p->setSingleShot(true); connect(timer_p, SIGNAL(timeout()), this, SLOT(_shot()),Qt::QueuedConnection); #else _under_process=false; connect(this,SIGNAL(_event()),this,SLOT(_shot()),Qt::QueuedConnection); #endif _callback=callback; _wmain=wmain; }
void HoldButton::OnTimer(wxTimerEvent &event) { wxCommandEvent _event(wxEVT_COMMAND_BUTTON_CLICKED, GetId()); _event.SetEventObject(this); GetEventHandler()->ProcessEvent(_event); if (!Interval2) { if (CountTime < TIME_CHANGE) CountTime += TIME_INTERVAL1; else { Interval2 = true; Timer->Stop(); Timer->Start(TIME_INTERVAL2); } } }
void CBulletManager::RegisterEvent (EventType Type, BOOL _dynamic, SBullet* bullet, const Fvector& end_point, collide::rq_result& R, u16 tgt_material) { m_Events.push_back (_event()) ; _event& E = m_Events.back() ; E.Type = Type ; E.bullet = *bullet ; switch(Type) { case EVENT_HIT: { E.dynamic = _dynamic ; E.result = ObjectHit (bullet,end_point,R,tgt_material,E.normal); E.point = end_point ; E.R = R ; E.tgt_material = tgt_material ; if (_dynamic) { // E.Repeated = (R.O->ID() == E.bullet.targetID); // bullet->targetID = R.O->ID(); E.Repeated = (R.O->ID() == E.bullet.targetID); if (GameID() == GAME_SINGLE) { bullet->targetID = R.O->ID(); } else { if (bullet->targetID != R.O->ID()) { CGameObject* pGO = smart_cast<CGameObject*>(R.O); if (!pGO || !pGO->BonePassBullet(R.element)) bullet->targetID = R.O->ID(); } } }; }break; case EVENT_REMOVE: { E.tgt_material = tgt_material ; }break; } }
void StaticLabel::OnMouseEvent(wxMouseEvent &event) { wxCommandEvent _event(wxEVT_COMMAND_BUTTON_CLICKED, GetId()); wxPostEvent(GetParent(), _event); }
Event& Machine::event( const Tag & name ) { auto i = _event( name ); assert( _isvalid( i ) ); return *(*i); }
bool Machine::is_exist_event( const Tag & name )const { return _isvalid( _event( name ) ); }
static void *_monitor_thread(void *arg) { int fd = open_udp_listenfd(VIRTUAL_SWITCH_BOX_LISTEN_PORT); fd_set rset; int ret; struct timeval tv; struct sockaddr_in mc_addr, dev_addr; socklen_t mc_len = sizeof(mc_addr); socklen_t dev_len = sizeof(dev_addr); uint8_t sbuf[16], rbuf[16]; int cmd_len; set_broadcast(fd, true); get_broadcast_address(fd, &mc_addr.sin_addr); mc_addr.sin_family = AF_INET; mc_addr.sin_port = htons(VIRTUAL_SWITCH_LISTEN_PORT); while (1) { FD_ZERO(&rset); FD_SET(fd, &rset); tv.tv_sec = 2; tv.tv_usec = 0; ret = select(fd+1, &rset, NULL, NULL, &tv); if (ret < 0) continue; if (0 == ret) { /* timeout, send keep alive */ _remove_timeout_dev(); memset(sbuf, 0, sizeof(sbuf)); cmd_len = 4; SET_CMD_FIELD(sbuf, 0, uint16_t, VS_CMD_KEEP_ALIVE); SET_CMD_FIELD(sbuf, 2, uint16_t, cmd_len); sendto(fd, sbuf, cmd_len, 0, (struct sockaddr *)&mc_addr, mc_len); continue; } cmd_len = 16; /* get message */ dev_len = sizeof(struct sockaddr_in); ret = recvfrom(fd, rbuf, cmd_len, 0, (struct sockaddr *)&dev_addr, &dev_len); if (ret < 4) continue; uint16_t cmd = GET_CMD_FIELD(rbuf, 0, uint16_t); uint16_t len = GET_CMD_FIELD(rbuf, 2, uint16_t); if (len != ret) { hsb_debug("error cmd: %d, %d\n", len, ret); continue; } //hsb_debug("get a cmd: %x\n", cmd); VS_DEV_T *pdev = _find_dev_by_ip(&dev_addr.sin_addr); if (!pdev) { probe_dev(virtual_switch_drv.id); continue; } switch (cmd) { case VS_CMD_KEEP_ALIVE: { break; } case VS_CMD_STATUS_CHANGED: { uint16_t id = GET_CMD_FIELD(rbuf, 4, uint16_t); uint16_t val = GET_CMD_FIELD(rbuf, 6, uint16_t); _status_updated(pdev->id, id, val); break; } case VS_CMD_EVENT: { uint16_t id = GET_CMD_FIELD(rbuf, 4, uint16_t); uint16_t param = GET_CMD_FIELD(rbuf, 6, uint16_t); uint32_t param2 = GET_CMD_FIELD(rbuf, 8, uint32_t); _event(pdev->id, id, param, param2); break; } default: break; } _refresh_device(pdev); } return NULL; }
void set_x(int x) { auto lock = acquire(_m); _x = x; _event(); }