bool CUIGameSP::IR_OnKeyboardPress(int dik) { if(inherited::IR_OnKeyboardPress(dik)) return true; if( Device.Paused() ) return false; CActor *pActor = smart_cast<CActor*>(Level().CurrentEntity()); if(!pActor) return false; if( pActor && !pActor->g_Alive() ) return false; switch ( get_binded_action(dik) ) { case kINVENTORY: if( !MainInputReceiver() || MainInputReceiver()==InventoryMenu){ m_game->StartStopMenu(InventoryMenu,true); return true; }break; case kACTIVE_JOBS: #if defined(UI_LOCK_PDA_WITHOUT_PDA_IN_SLOT) if (pActor->inventory().m_slots[PDA_SLOT].m_pIItem) #endif if( !MainInputReceiver() || MainInputReceiver()==PdaMenu){ PdaMenu->SetActiveSubdialog(eptQuests); m_game->StartStopMenu(PdaMenu,true); return true; }break; case kMAP: #if defined(UI_LOCK_PDA_WITHOUT_PDA_IN_SLOT) if (pActor->inventory().m_slots[PDA_SLOT].m_pIItem) #endif if( !MainInputReceiver() || MainInputReceiver()==PdaMenu){ PdaMenu->SetActiveSubdialog(eptMap); m_game->StartStopMenu(PdaMenu,true); return true; }break; case kCONTACTS: #if defined(UI_LOCK_PDA_WITHOUT_PDA_IN_SLOT) if (pActor->inventory().m_slots[PDA_SLOT].m_pIItem) #endif if( !MainInputReceiver() || MainInputReceiver()==PdaMenu){ PdaMenu->SetActiveSubdialog(eptContacts); m_game->StartStopMenu(PdaMenu,true); return true; }break; case kSCORES: { SDrawStaticStruct* ss = AddCustomStatic("main_task", true); SGameTaskObjective* o = pActor->GameTaskManager().ActiveObjective(); if(!o) ss->m_static->SetTextST ("st_no_active_task"); else ss->m_static->SetTextST (*(o->description)); }break; } return false; }