Esempio n. 1
0
void SceneExit::process(Event &event) {
	if (!R2_GLOBALS._insetUp) {
		SceneArea::process(event);

		if (_enabled) {
			if (event.eventType == EVENT_BUTTON_DOWN) {
				if (!_bounds.contains(event.mousePos))
					_moving = false;
				else if (!R2_GLOBALS._player._canWalk) {
					_moving = false;
					changeScene();
					event.handled = true;
				} else {
					Common::Point dest((_destPos.x == -1) ? event.mousePos.x : _destPos.x,
						(_destPos.y == -1) ? event.mousePos.y : _destPos.y);
					ADD_PLAYER_MOVER(dest.x, dest.y);

					_moving = true;
					event.handled = true;
				}
			}

			if (_moving && (_bounds.contains(R2_GLOBALS._player._position) || (R2_GLOBALS._player._position == _destPos)))
				changeScene();
		}
	}
}
Esempio n. 2
0
	void update()override{
		frameCount++;
		if (frameCount > 10) {
			if (RetryButton.leftClicked)
				changeScene(L"Game");
			if (TweetButton.leftClicked)
				Twitter::OpenTweetWindow(L"TestScore:"+Format(m_data->score));
			if (TitleButton.leftClicked)
				changeScene(L"Title");
		}
	}
void GameScene::onEvent(Event *ev)
{	
	if (ev->type == TouchEvent::CLICK)
	{
		//menu button clicked
		//pause game by pausing it's clock
		_game->getClock()->pause();

		//show GameMenu dialog
		GameMenu::instance->show();
	}


	if (ev->type == GameScene::HiddenEvent::EVENT)
	{
		//event from GameMenu called after GameMenu::instance->hide()
		const string &name = GameMenu::instance->getLastClicked();
		if (name == "Exit")		
		{
			//if "Exit" button was clicked
			changeScene(MainMenuScene::instance);
		}
		else
		{
			//"Continue" button was clicked
			//dialog already hidden
			//just resume Clock to continue game
			_game->getClock()->resume();
		}
	}
}
Esempio n. 4
0
void CBDirector::notify()
{
	changeScene();
	if(m_currentScene && m_currentScene->isEndInitial())
		m_currentScene->notify();
    SAchievementManager.updateScreenExhibitor();
}
Esempio n. 5
0
void SceneTest::processInput(){
    sf::Event event;
    while(_window->pollEvent(event)){
        if (event.type == sf::Event::Closed) {_window->close(); exit(0);}
        if (event.type == sf::Event::KeyReleased) {

            std::vector<std::string> languages = { "  CAT  ", "  ENG  ", "  ESP  "};
            SoundManager::stopMusic("pressAnyKey");
            SoundManager::playMusic("menuButtons");
            int language = _selector.select(_window, languages);

            extern std::string LANGUAGE;
            languages = { "CAT", "ENG", "ESP"};
            LANGUAGE = languages[language];
            log(language, LANGUAGE);
            std::string easy[3] = {" normal ","  normal  ", "  normal  "};
            std::string hard[3] = {" dificil ", "hardcore", " dificil  "   };
            std::vector<std::string> kinds = {easy[language], hard[language]};
            extern int hardmode;
            hardmode = _selector.select(_window, kinds);
            SoundManager::stopMusic("menuButtons");
            SoundManager::playMusic("pressAnyKey");

            //log(hardmode, &hardmode);
            changeScene(_next);//{_window->close(); exit(0);}
        }
    }
    InputManager::update();
}
Esempio n. 6
0
// 毎フレーム updateAndDraw() で呼ばれる
void Result::update()
{
	bg.update();
	tweet_m.update();

	stageNode_m->update();
	for (int i = 0; i < 4; ++i){
		results_m[i]->update();	
	}
	if (returnButton_m.leftClicked){
		this->changeScene(L"StaffRoll", 2000, false);
	}
	if (tweet_m.isClicked()){
		Twitter::OpenTweetWindow(L"ガベこれの" + this->m_data->stageName + L"で" + Format(this->m_data->totalScore) + L"点とりました!\n#GabeColle #Siv3D");
	}
	/*if (ending_m.isClicked()){
		this->changeScene(L"StaffRoll");
	}*/

	static int frameCounter = 0;
	if(frameCounter >= 60 * 90) {
		frameCounter = 0;
		BGM_m.pause(1000);
		changeScene(L"Start", 1000);
		return;
	} else {
		++frameCounter;
	}

}
Esempio n. 7
0
void SceneManager::animate(float delta) {
    this->currentScene->update();
    SceneType sceneType = this->currentScene->animate(delta);

    if (sceneType != this->currentScene->sceneType)
        changeScene(sceneType);
}
Esempio n. 8
0
void GameManager::gameStart()
{
	m_IsGamePlaying = true;
	changeScene(SceneType::GAME_SCENE);
	m_StartTime = UtilSpace::getTickCount();
	m_Score = 0;
}
Esempio n. 9
0
void SceneManager::listenerSynchronize(Serializer &s) {
	s.validate("SceneManager");

	if (s.isLoading() && !_globals->_sceneManager._scene)
		// Loading a savegame straight from the launcher, so instantiate a blank placeholder scene
		// in order for the savegame loading to work correctly
		_globals->_sceneManager._scene = new Scene();

	_altSceneObjects.synchronize(s);
	s.syncAsSint32LE(_sceneNumber);
	s.syncAsUint16LE(_globals->_sceneManager._scene->_activeScreenNumber);

	if (s.isLoading()) {
		changeScene(_sceneNumber);
		
		if (_nextSceneNumber != -1) {
			sceneChange();
			_nextSceneNumber = -1;
		}
	}

	_globals->_sceneManager._scrollerRect.synchronize(s);
	SYNC_POINTER(_globals->_scrollFollower);
	s.syncAsSint16LE(_loadMode);
}
Esempio n. 10
0
	void Update(float& frameTime) {
		playerRed->update(frameTime, *playerBlue);
		playerBlue->update(frameTime, *playerRed);
		if (playerBlue->getalive())
		{
			playerBlueStatus->setText("Leben: " + std::to_string(int(playerBlue->getlife())) + " Power: " + std::to_string(int(playerBlue->getpower())) + " Power on:" + std::to_string(playerBlue->getPStat()));

		}
		if (playerRed->getalive())
		{
			playerRedStatus->setText("Leben: " + std::to_string(int(playerRed->getlife())) + " Power: " + std::to_string(int(playerRed->getpower())) + " Power on:" + std::to_string(playerRed->getPStat()));
		}

		if (Collision::colliding(*playerBlue, *playerRed, frameTime)) {

			if (playerBlue->getPStat() && playerBlue->getpower() > 0 && !playerRed->getPStat()) {
				playerRed->setleben(playerRed->getlife() - 75 * frameTime);
				playerBlue->setpower(playerBlue->getpower() - 1000 * frameTime);
			}
			if (!playerBlue->getPStat() && playerRed->getPStat() && playerRed->getpower() > 0) {
				playerBlue->setleben(playerBlue->getlife() - 75 * frameTime);
				playerRed->setpower(playerRed->getpower() - 1000 * frameTime);

			}
			if (playerBlue->getPStat() && playerBlue->getpower() > 0 && playerRed->getPStat() && playerRed->getpower() > 0) {
				playerRed->setleben(playerRed->getlife() - 200 * frameTime);
				playerBlue->setleben(playerBlue->getlife() - 200 * frameTime);
				playerRed->setpower(playerRed->getpower() - 10000 * frameTime);
				playerBlue->setpower(playerBlue->getpower() - 10000 * frameTime);
			}
			if (playerRed->getpower() <= 0) {
				playerRed->setpowon(false);
			}
			if (playerBlue->getpower() <= 0) {
				playerBlue->setpowon(false);
			}
			if (playerBlue->getlife() <= 0)
				changeScene(*new endScreen("RedPlayer", sf::Vector2f(1280 / 2 - 200, 720 / 2 - 75)));


			if (playerRed->getlife() <= 0)
				changeScene(*new endScreen("BluePlayer", sf::Vector2f(1280 / 2 - 200, 720 / 2 - 75)));

		}

	}
Esempio n. 11
0
void Engine::gameStateHandler()
{
    if(STATE.Running){changeScene(SceneRunning);}
    if(STATE.Initial){}
    if(STATE.Menu){}
    if(STATE.EndGame){}
    if(STATE.GameOver){}
}
Esempio n. 12
0
void LoadManager::loadedArmatureCall(float f)
{
	mArmatureLoaded++;
	doProgressCall();
	if (mLoaded + mArmatureLoaded >= mAllNum + mArmatureNum)
	{
		changeScene();
	}
}
Esempio n. 13
0
// 毎フレーム updateAndDraw() で呼ばれる
void Rule::update()
{

	Graphics::SetBackground(HSV(System::FrameCount(),0.6,0.9));


	for (int i = 0; i < 40; i++){
		switch (i % 4){
		case 0:
			cir[i].rightmove();
			break;
		case 1:
			cir[i].leftmove();
			break;
		case 2:
			cir[i].sinmove();
			break;
		case 3:
			cir[i].sinmove2();
			break;
		default:
			break;
		}
		cir[i].update();
		if (cir[i].getE())click.drawCenter(L"click", { cir[i].getX(), cir[i].getY() }, Palette::White);
	}

	button_m.update();
	
	if (button_m.isClicked()){
		SoundAsset(bgm_m).stop();
		changeScene(L"Start");
	}

	static int frameCounter = 0;
	if(frameCounter >= 60 * 90) {
		frameCounter = 0;
		SoundAsset(bgm_m).pause(1000);
		changeScene(L"Start", 1000);
		return;
	} else {
		++frameCounter;
	}
}
Esempio n. 14
0
void Game::start() {
    loadScenes();
    changeScene("test");

    while (_currentScene != nullptr) {
        _currentScene->run();
    }

    exit(0);
}
Esempio n. 15
0
void cMAIN_GAME::enter(HWND hWnd, HINSTANCE hInst)
{
	hWnd_ = hWnd;	
	hInst_ = hInst;

	::GetClientRect(hWnd_, &client_rt_);	
	changeScene(SCENE_ID::INTRO);
	
	camera_->initCamera(client_rt_);
}
Esempio n. 16
0
//--------------------------------------------------------------
void App::setup() {
    
 	ofSetCircleResolution(120);
    ofBackground(255);
    ofSetFrameRate(30);
    ofSetVerticalSync(true);
	
	setupEffectsGui();
	    
    //initialise camera
	camWidth 		= CAM_WIDTH;	// try to grab at this size. 
	camHeight 		= CAM_HEIGHT;

#ifndef USE_SMALL_APP
    vidGrabber.setVideoDeviceID(0); //0 is first, iSight is always last, so this is safe...
	vidGrabber.initGrabber(camWidth, camHeight);  
#endif
    
    audioManager.setup(this);
    drawAudio = false;
    
    //now fonts
    AppAssets::inst()->appFont.loadFont("fonts/Helvetica.ttf", 12);
    
    // add all the scenes
    scenes.push_back(&cellSC);
    scenes.push_back(&drawnSC);
    scenes.push_back(&textureSC);
    scenes.push_back(&spotsSC);
    
    // setup the scenes
    for(vector<BaseScene*>::iterator it = scenes.begin(); it != scenes.end(); ++it) {
        
        // set the audio pointer
        (*it)->audioPtr = &audioManager;
        (*it)->setup();
        (*it)->exitScene();
        
    }
    
    // start with the frist scene
    sceneIndex = SCENE_DRAWN;
    changeScene(sceneIndex);
	
	twitter.setVerbose(true);
	twitter.init();
	fx.setup(ofGetWidth(), ofGetHeight()); 
	take_screenshot_on = 0;
	twitter.getSimulator().setEffects(fx);
	twitter.getSimulator().loadSettings();
	command_timeout = ofGetElapsedTimef() + fx_duration;
    showMouse = false;
    //ofHideCursor();
}
Esempio n. 17
0
///--------------------------------------------------------------
void ofApp::keyReleased(int key)
{
    switch(key) {
    case 'f':
    case 'F': {
        // Change window mode
//            isFullScreen = !isFullScreen;
//            ofSetFullscreen(isFullScreen);
        break;
    }
    case '*':
    {
        showFPS = !showFPS;
        break;
    }
    case OF_KEY_UP:
    case OF_KEY_RIGHT: {
#ifdef OF_DEBUG

        if(currentScene!=9)
            sceneManager.nextScene(true);
        else {
            string toScene = "Scene 2";
            changeScene(toScene);
        }
#endif
        break;
    }
    case OF_KEY_DOWN:
    case OF_KEY_LEFT: {
#ifdef OF_DEBUG
        sceneManager.prevScene();
#endif
        break;
    }
//        case 's':
//        case 'S':
//        {
//            if (currentSceneName == "Scene 8") {
//                scene8->keyReleased(key);
//            }
//            break;
//        }
//        case ' ':
//            if (currentSceneName == "Scene 8") {
//                scene8->keyReleased(key);
//            }
    default:
        break;
    }

}
Esempio n. 18
0
void CGameManager::changeGameState(EGameState gs)
{
	switch (gs)
	{
        case EGameState::NONE:
            changeScene(EGameScene::WELCOME);
            break;
        case EGameState::LOGINERROR:
            break;
        case EGameState::LOGINSUCCESS:
            changeScene(EGameScene::MENU);
            break;
        case EGameState::PLAYING:
            changeScene(EGameScene::GAMEVIEW);
            break;
        case EGameState::PAUSE:
            break;
        case EGameState::RESUME:
            break;
        case EGameState::GAMEOVER:
            break;
        case EGameState::RANDING:
        {
            changeScene(EGameScene::MENU);
            break;
        }
        case EGameState::LOGINOUT:
        {
            changeScene(EGameScene::WELCOME);
            break;
        }
        default:
            break;

            
	}

}
Esempio n. 19
0
void StartScene::action(){
	if(Keyboard::pushed(KEY_INPUT_Z)){
		switch(order.size()-1){
		case 0:
			switch(order[order.size()-1]){
			case 0:
				PlaySoundMem(Sound::decide, DX_PLAYTYPE_BACK);
				SetDrawBlendMode(DX_BLENDMODE_ALPHA, 128);
				DrawString(5, DEFAULT_SCREEN_SIZE_Y-20, "Now Loading...", GetColor(255,255,255));
				changeScene(new BattleScene);
				break;
			case 1:
				if(my_mission[0] > 0){
					PlaySoundMem(Sound::step, DX_PLAYTYPE_BACK);
					order.push_back(0);
				}
				break;
			default:
				PlaySoundMem(Sound::step, DX_PLAYTYPE_BACK);
				changeScene(nullptr);
				break;
			}
			break;

		case 1:
			PlaySoundMem(Sound::decide, DX_PLAYTYPE_BACK);
			SetDrawBlendMode(DX_BLENDMODE_ALPHA, 128);
			DrawString(5, DEFAULT_SCREEN_SIZE_Y-20, "Now Loading...", GetColor(255,255,255));
			changeScene(new BattleScene);
			break;
		}
	}

	if(Keyboard::pushed(KEY_INPUT_X) && order.size() >= 2){
		PlaySoundMem(Sound::cancel, DX_PLAYTYPE_BACK);
		order.pop_back();
	}
}
Esempio n. 20
0
void Scene::cmdSceneChange(int argc, const char **argv) {
	int scene_num = 0;

	scene_num = atoi(argv[1]);

	if ((scene_num < 1) || (uint(scene_num) >= _sceneLUT.size())) {
		_vm->_console->debugPrintf("Invalid scene number.\n");
		return;
	}

	clearSceneQueue();

	changeScene(scene_num, 0, kTransitionNoFade);
}
Esempio n. 21
0
void LoadManager::load(SCENE target)
{
	clearCache();

	mNextScene = target;

	if (mAllNum + mArmatureNum <= 0)
	{
		changeScene();
		return;
	}

	CCScene* tempSc = LoadScene::scene();
	mLoadScene = (LoadScene*)(tempSc->getChildren()->objectAtIndex(0));
	CCDirector::sharedDirector()->replaceScene(tempSc);

	if (mLoadArray->count() == 0)
	{
		loadArmature();
		return;
	}

	for (int i = mLoadArray->count() - 1; i >= 0; i--) 
	{
		LoadInfoVo* pObj = (LoadInfoVo*)mLoadArray->objectAtIndex(i);
		
		switch (pObj->mType)
		{
		//case LArmature:
		//	CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync(pObj->mImagePath.c_str(), 
		//		pObj->mPlistPath.c_str(), 
		//		pObj->mJsonPath.c_str(),
		//		this,
		//		schedule_selector(LoadManager::loadedArmatureCall));
		//	break;
		case LSprite:
			mSpriteLoadArray->addObject(pObj);
			CCTextureCache::sharedTextureCache()->addImageAsync(pObj->mImagePath.c_str(),
				this,
				callfuncO_selector(LoadManager::loadedImageCall));
			break;
		case LImage:
			CCTextureCache::sharedTextureCache()->addImageAsync(pObj->mImagePath.c_str(),
				this,
				callfuncO_selector(LoadManager::loadedImageCall));
			break;
		}
		mLoadArray->removeObject(pObj);
	}
}
Esempio n. 22
0
	void update() override{

		if (Input::KeyZ.clicked) {
			start = true;
		}

		if (start) {
			val1 += (-400 - val1) / 20;
			val2 += (-800 - val2) / 20;
			
			if (val1 < -395) {
				if (select == 0)
					val3 += (50 - val3) / 20;
				else
					val3 += (80 - val3) / 20;
				val4 += (255 - val4) / 20;
			}
			if (val4 > 200) {
				if (select == 0)
					val5 += (80 - val5) / 20;
				else
					val5 += (50 - val5) / 20;
				val8 += (10 - val8) / 10;
				val6 += (255 - val6) / 20;
			}
			if (val6 > 250) {
				if (Input::KeyUp.clicked) {
					select--;
					if (select < 0)
						select = 1;
				}
				if (Input::KeyDown.clicked) {
					select++;
					if (select > 1)
						select = 0;
				}
				if (Input::KeyZ.clicked) {
					m_data->dif = !select ? Difficulty::VeryEasy : Difficulty::Easy;
					changeScene(L"Game", 1000);
				}
				if (!select){
					val7 += (300 - val7) / 10;
				}
				if (select == 1){
					val7 += (400 - val7) / 10;
				}
			}
		}
	}
Esempio n. 23
0
void SceneManager::Update(){
	if (Game->MANAGER.load){
		if (Game->MANAGER.scene){
			addScene(Game->MANAGER.loadName, Game->MANAGER.scene);
		}
		Game->MANAGER.load = false;
	}
	if (Game->MANAGER.unload){
		removeScene(Game->MANAGER.unloadName);
		Game->MANAGER.unload = false;
	}
	if (Game->MANAGER.change){
		changeScene(Game->MANAGER.changeName);
		Game->MANAGER.change = false;
	}
}
Esempio n. 24
0
void SceneManager::listenerSynchronize(Serializer &s) {
	s.validate("SceneManager");

	_altSceneObjects.synchronize(s);
	s.syncAsSint32LE(_sceneNumber);
	s.syncAsUint16LE(_globals->_sceneManager._scene->_activeScreenNumber);

	if (s.isLoading()) {
		changeScene(_sceneNumber);
		checkScene();
	}

	_globals->_sceneManager._scrollerRect.synchronize(s);
	SYNC_POINTER(_globals->_scrollFollower);
	s.syncAsSint16LE(_loadMode);
}
Esempio n. 25
0
	void update()override{

		if (Input::KeyUp.clicked&&select>0){
			select--;
		}

		if (Input::KeyDown.clicked&&select<2){
			select++;
		}
		if (Input::KeyZ.clicked){
			if (select == 0){
				changeScene(L"Game", 1000);
			}
		}
		val1 += (170 - val1) / 10;
		val2 += (select * 90 + 210 - val2) / 10;
	}
Esempio n. 26
0
	Scene& ScenePool::createScene(const std::string &name)
	{
		auto itr = m_scenePool.find(name);
		if(itr == m_scenePool.end())
		{
			m_scenePool[name] = new Scene(name);
			JL_DEBUG_LOG("Created new scene '%s'", name.c_str());
			
			if(m_activeScene == nullptr)
				changeScene(name);

			return *m_scenePool[name];
		}
		else
			return *itr->second;

	}
Esempio n. 27
0
void LogoScene::judgeState()
{
	if (isEndAddResource && isEndLogo)
	{
		if (ISSTARTBTN)
		{
			showNextBtn(0.f);
		}
		else
		{
			changeScene(NULL);
		}		
	}
	else if (isEndLogo)
	{
		showLoadingRing();
	}
}
Esempio n. 28
0
void LoadManager::loadArmature()
{
	if (mArmatureNum <= 0)
	{
		changeScene();
		return;
	}

	for (int i = mArmatureLoadArray->count() - 1; i >= 0; i--) 
	{
		LoadInfoVo* pObj = (LoadInfoVo*)mArmatureLoadArray->objectAtIndex(i);
		CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync(pObj->mImagePath.c_str(), 
			pObj->mPlistPath.c_str(), 
			pObj->mJsonPath.c_str(),
			this,
			schedule_selector(LoadManager::loadedArmatureCall));
		mArmatureLoadArray->removeObject(pObj);
	}
}
Esempio n. 29
0
//--------------------------------------------------------------
void testApp::update(){


	//OSCメッセージを受信
	while( receiver.hasWaitingMessages() ) {
		// get the next message
		ofxOscMessage m;
		receiver.getNextMessage( &m );
		
		if ( m.getAddress() == "/app/init" ) {
			int scene = m.getArgAsInt32(0);
			changeScene(scene);
			cout << "receive OSC" << m.getAddress() << ":" << m.getArgAsInt32(0) << endl;
		}
		
		//FaceExchange 顔交換
		if (m.getAddress() == "/face/number" && m.getArgAsInt32(0) < 15) {
			
			faceExchange->num_displayFace = m.getArgAsInt32(0); 
			faceExchange->imgTracker.reset();

            printf("faceNumber: %d\n",m.getArgAsInt32(0));
        }
		
		//KinectCloud関連のOSC
		if (currentApp == kinectCloud) {

			if ( m.getAddress() == "/touch/position") {
				kinectCloud->moveCam(m.getArgAsFloat(0), m.getArgAsFloat(1));
				cout << "receive OSC" << m.getAddress() << ":" << m.getArgAsInt32(0) << ", " << m.getArgAsInt32(1) << endl;
			}
			
			if ( m.getAddress() == "/touch/scale") {
				kinectCloud->scale = m.getArgAsFloat(0);
				cout << "receive OSC" << m.getAddress() << ":" << m.getArgAsInt32(0) << endl;
			}
			
		}
	}
}
Esempio n. 30
0
void SplashScene::initTimers()
{
    m_timer.setInterval(0.4f);
    m_timer.setRepeatCount(5);

    m_timer.setTickCallback([this](){
        if(!m_updateColors)
        {
            auto soundMgr = Lore::SoundManager::instance();
            soundMgr->playEffect(kSoundName_AmazingIntro);
            m_updateColors = true;
        }
    });

    m_timer.setDoneCallback([this]() {
        KABOOM_DLOG("m_disapperTimer - done....");
        auto gm = Lore::GameManager::instance();
        gm->changeScene(std::unique_ptr<Lore::Scene>(new MenuScene()));
    });

    m_timer.start();
}