void BaseApp::Update() { m_gameTimer.Update(); if (GetMessageManager()) GetMessageManager()->Update(); if (GetAudioManager()) GetAudioManager()->Update(); m_sig_update(NULL); }
void typewriter::next_char(VariantList *pVList) { if (text_.length() < num_chars_) return; current_text_ = text_.substr(0,num_chars_++); GetMessageManager()->CallEntityFunction(entity_, time_ms_, "next_char", 0); }
void typewriter::type_text(rtRect _type_area, std::string _text, int _time_ms, float _scale, unsigned int _color) { type_area_ = _type_area; text_ = _text; time_ms_ = _time_ms; num_chars_ = 0; current_text_ = ""; GetMessageManager()->CallEntityFunction(entity_, time_ms_, "next_char", 0); scale_ = _scale; color_ = _color; }
nsISupports* ChildSHistory::GetParentObject() const { // We want to get the TabChildMessageManager, which is the // messageManager on mDocShell. RefPtr<ContentFrameMessageManager> mm; if (mDocShell) { mm = mDocShell->GetMessageManager(); } // else we must be unlinked... can that happen here? return ToSupports(mm); }
void OptionsOnSelect( VariantList* pVList ) { Entity* pEntClicked = pVList->m_variant[1].GetEntity(); Config* config = Config::GetInstance(); if( pEntClicked->GetName() == GUI_IMAGEBUTTON_OPTIONS_BACK_BUTTON ) { GetApp()->buttonClickSound(); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); MainMenuCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_OPTIONS_LANGUAGE_BUTTON ) { GetApp()->buttonClickSound(); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); LanguageCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_OPTIONS_SOUND_BUTTON ) { GetApp()->buttonClickSound(); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); SoundCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_OPTIONS_LEVEL_BUTTON ) { GetApp()->buttonClickSound(); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); LevelMenuCreate( pEntClicked->GetParent()->GetParent() ); } config->FreeInstance(); }
extern "C" void Native_SendGUIEx() { #ifndef _CONSOLE int msg; float xPos,yPos; int touchID; inline_as3( "import com.adobe.flascc.Console;\n" "%0 = Console.current.m_parmInt1;" "%1 = Console.current.m_parmFloat1;" "%2 = Console.current.m_parmFloat2;" "%3 = Console.current.m_parmInt2;" : "=r"( msg),"=r"( xPos),"=r"( yPos), "=r"( touchID) : ); //LogMsg("Native_SendGUIEx got %d, %d, %.2f, %.2f", msg, touchID, xPos, yPos); //convert to proton's key layout if needed if (msg == MESSAGE_TYPE_GUI_CHAR_RAW) { switch (int(xPos)) { case 37: xPos = VIRTUAL_KEY_DIR_LEFT; break; case 38: xPos = VIRTUAL_KEY_DIR_UP; break; case 39: xPos = VIRTUAL_KEY_DIR_RIGHT; break; case 40: xPos = VIRTUAL_KEY_DIR_DOWN; break; case 16: xPos = VIRTUAL_KEY_SHIFT; break; case 17: xPos = VIRTUAL_KEY_CONTROL; break; case 112: xPos = VIRTUAL_KEY_F1; break; case 113: xPos = VIRTUAL_KEY_F2; break; case 114: xPos = VIRTUAL_KEY_F3; break; case 115: xPos = VIRTUAL_KEY_F4; break; case 116: xPos = VIRTUAL_KEY_F5; break; case 117: xPos = VIRTUAL_KEY_F6; break; case 118: xPos = VIRTUAL_KEY_F7; break; case 119: xPos = VIRTUAL_KEY_F8; break; case 120: xPos = VIRTUAL_KEY_F9; break; case 121: xPos = VIRTUAL_KEY_F10; break; case 27: xPos = VIRTUAL_KEY_BACK; break; default:; } } GetMessageManager()->SendGUIEx((eMessageType)msg, xPos, yPos, touchID); #endif }
void BaseApp::ResetTouches() { for (int i=0; i < C_MAX_TOUCHES_AT_ONCE; i++) { if (m_touchTracker[i].IsDown()) { LogMsg("Finger %d is down, sending fake release", i); //release it with a fake message GetMessageManager()->SendGUIEx(MESSAGE_TYPE_GUI_CLICK_END, m_touchTracker[i].GetPos().x, m_touchTracker[i].GetPos().y, i); } } }
void LanguageOnSelect( VariantList *pVList ) { Entity *pEntClicked = pVList->m_variant[1].GetEntity(); Config* config = Config::GetInstance(); if( pEntClicked->GetName() == GUI_IMAGEBUTTON_LANGUAGE_BACK_BUTTON ) { GetApp()->buttonClickSound(); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); OptionsCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_FLAG_EN_BUTTON ) { GetApp()->buttonClickSound(); config->setLang( convertCodeToId( LANG_NAMES[ LANG_EN ] ) ); config->Save(); config->ReloadLang( LANG_EN ); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); OptionsCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_FLAG_RU_BUTTON ) { GetApp()->buttonClickSound(); config->setLang( convertCodeToId( LANG_NAMES[ LANG_RU ] ) ); config->Save(); config->ReloadLang( LANG_RU ); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); OptionsCreate( pEntClicked->GetParent()->GetParent() ); } config->FreeInstance(); }
void SoundOnSelect( VariantList* pVList ) { Entity *pEntClicked = pVList->m_variant[1].GetEntity(); Config* config = Config::GetInstance(); if( pEntClicked->GetName() == GUI_IMAGEBUTTON_SOUND_BACK_BUTTON ) { GetApp()->buttonClickSound(); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); OptionsCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_CHECKBOX_CHECKBOX_EFFECTS ) { GetApp()->buttonClickSound(); config->setSoundEffects( !config->getSoundEffects() ); GetApp()->GetVar( "SoundEffects" )->Set( uint32(config->getSoundEffects() ) ); config->Save(); } if( pEntClicked->GetName() == GUI_CHECKBOX_CHECKBOX_MUSIC ) { GetApp()->buttonClickSound(); config->setMusic( !config->getMusic() ); GetApp()->GetVar( "Music" )->Set( uint32( config->getMusic() ) ); config->Save(); } if( pEntClicked->GetName() == GUI_CHECKBOX_CHECKBOX_VIBRATION ) { GetApp()->buttonClickSound(); config->setVibration( !config->getVibration() ); GetApp()->GetVar( "Vibration" )->Set( uint32( config->getVibration() ) ); config->Save(); if( config->getVibration() ) { GetAudioManager()->Vibrate(); } } config->FreeInstance(); }
extern "C" void Native_Update() { GetApp()->Update(); #ifndef _CONSOLE while (!GetBaseApp()->GetOSMessages()->empty()) { OSMessage m = GetBaseApp()->GetOSMessages()->front(); GetBaseApp()->GetOSMessages()->pop_front(); #ifdef _DEBUG LogMsg("Got OS message %d, %s", m.m_type, m.m_string.c_str()); #endif switch (m.m_type) { case OSMessage::MESSAGE_CHECK_CONNECTION: //pretend we did it GetMessageManager()->SendGUI(MESSAGE_TYPE_OS_CONNECTION_CHECKED, (float)RT_kCFStreamEventOpenCompleted, 0.0f); break; case OSMessage::MESSAGE_OPEN_TEXT_BOX: break; case OSMessage::MESSAGE_CLOSE_TEXT_BOX: SetIsUsingNativeUI(false); break; case OSMessage::MESSAGE_SET_FPS_LIMIT: //fpsTimerLoopMS = (int) (1000.0f/m.m_x); break; case OSMessage::MESSAGE_SET_ACCELEROMETER_UPDATE_HZ: { } break; } } #endif }
void GameOnSelect( VariantList* pVList ) { Entity *pEntClicked = pVList->m_variant[1].GetEntity(); Tetris* tetris = Tetris::GetInstance(); Config* config = Config::GetInstance(); if( pEntClicked->GetName() == GUI_IMAGEBUTTON_GAMEPLAY_MENU_BUTTON ) { GetApp()->buttonClickSound(); if( tetris->isEndGame() ) { SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); GetApp()->setGame( false ); GetApp()->setContinueBtn( false ); if( tetris->getScoreInt() > config->getMinScore() ) { GameState::SetState( new GS_Menu() ); InputBestScoreCreate( pEntClicked->GetParent()->GetParent() ); } else { tetris->ResetEndGame(); GameState::SetState( new GS_Menu() ); MainMenuCreate( pEntClicked->GetParent()->GetParent() ); } tetris->FreeInstance(); config->FreeInstance(); return; } GameState::SetState( new GS_Menu() ); if( config->getMusic() ) { GetAudioManager()->StopMusic(); } GetApp()->setGame( false ); SlideScreen( pEntClicked->GetParent(), false ); GetMessageManager()->CallEntityFunction( pEntClicked->GetParent(), 500, "OnDelete", NULL ); MainMenuCreate( pEntClicked->GetParent()->GetParent() ); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_GAMEPLAY_DOWN && !tetris->isEndGame() ) { if( config->getSoundEffects() ) { GetAudioManager()->Play( GetApp()->getResourceInstance()->getItem(GetApp()->getResolutionType(), RES_TYPE_AUDIO, RES_ID_AUDIO_FIGURE_DOWN ) ); } tetris->ClickForceDown(); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_GAMEPLAY_LEFT && !tetris->isEndGame() ) { buttonMoveSound(); tetris->ClickLeft(); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_GAMEPLAY_RIGHT && !tetris->isEndGame() ) { buttonMoveSound(); tetris->ClickRight(); } if( pEntClicked->GetName() == GUI_IMAGEBUTTON_GAMEPLAY_ROTATE && !tetris->isEndGame() ) { buttonMoveSound(); tetris->ClickRotate(); } tetris->FreeInstance(); config->FreeInstance(); }
void InterpolateComponent::OnUpdate(VariantList *pVList) { if (is_pausable_) { if (GetMessageManager()->game_paused_) { //float(GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem)) //LogMsg("%f %d Duration, %s", float(*m_pDuration), m_startTimeMS , m_pVarName->c_str()); if (pause_time_ == 0) { pause_time_ = GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem)); } return; } if (pause_time_ != 0) { //LogMsg("Timer: %d",GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem)) - pause_time_); m_startTimeMS += GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem)) - pause_time_; pause_time_ = 0; } } if (m_bActive && m_pVar && m_pVar->GetType() != Variant::TYPE_UNUSED && m_pVarTarget->GetType() != Variant::TYPE_UNUSED) { Variant *pA; Variant *pB; if (m_bDirForward) { pA = &m_pVarStartPoint; pB = m_pVarTarget; } else { pB = &m_pVarStartPoint; pA = m_pVarTarget; } float fPercentDone = (float(GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem))-m_startTimeMS)/ float(*m_pDuration)); #ifdef _DEBUG //LogMsg("%.2f percent done changing %s (is now %s)", fPercentDone, m_pVarName->c_str(), m_pVar->Print().c_str()); #endif if ( fPercentDone >= 1) { //we're finished m_pVar->Set(*pB); bool bReturnAfter = true; switch (*m_pOnFinish) { case ON_FINISH_STOP: m_bActive = false; SetEndValue(); return; break; case ON_FINISH_DIE: m_bActive = false; //we're done, kill ourself GetParent()->RemoveComponentByAddress(this); return; break; case ON_FINISH_BOUNCE: m_bDirForward = !m_bDirForward; m_startTimeMS = GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem)); bReturnAfter = false; break; case ON_FINISH_REPEAT: m_startTimeMS = GetBaseApp()->GetTickTimingSystem(eTimingSystem(*m_pTimingSystem)); m_pVar->Set(m_pVarStartPoint); break; default: LogError("Unknown OnFinish type"); assert(0); } (*m_pPlayCount)++; if (bReturnAfter) { return; } } if (*m_pDeleteAfterPlayCount != 0 && *m_pPlayCount >= *m_pDeleteAfterPlayCount) { m_bActive = false; //we're done, kill ourself GetParent()->RemoveComponentByAddress(this); return; } //set var where it should be on the scale m_pVar->Interpolate(pA, pB, fPercentDone, eInterpolateType(*m_pInterpolateType)); } }