void PhysicsSystem::Update(float msec) { vector<PhysicsNode*> narrowNodes; BroadPhaseCollisions(narrowNodes); NarrowPhaseCollisions(narrowNodes); ret->Update(msec); bool on = Window::GetMouse()->ButtonDown(MOUSE_LEFT); if(on && force<=3000.0f) force+=10.0f * msec; if(!on && lastclick) { lastclick = true; SubMessage::ActivateMessage(); } for(vector<EnemyEntity*>::iterator i = enemyNodes.begin(); i != enemyNodes.end(); ++i) { if(RaySphereCollision(ret->cr,*((CollisionSphere*)(*i)->GetPhysicsNode().getCV()))) { //cout<<"true"<<endl; ret->SetRandomColour(); if(!on && lastclick){ cout<<"hit"<<endl; if(force>2500.0f) (*i)->hit(true); else (*i)->hit(false); break; } //cout << "true!" << endl; } } for(vector<EnemyEntity*>::iterator i = enemyNodes.begin(); i != enemyNodes.end(); ++i) { if((*i)->doShoot()) { EnemyFire(*i); } } if(!on) force = 0.0f; lastclick = on; float dt = msec * 0.01f; /* for(vector<PhysicsNode*>::iterator i = allNodes.begin(); i != allNodes.end(); ++i) { (*i)->Update(msec); } for(vector<LaserEntity*>::iterator i = laserNodes.begin(); i != laserNodes.end(); ++i) { (*i)->Update(msec); } */ }
void EmotivShooterScreen::LoadContent() { if(!font.loadFromFile("../Fonts/Dead Kansas.ttf")) { // error... } text.setString("Game screen"); text.setColor(sf::Color::Green); text.setFont(font); Background.setSize(sf::Vector2f(sf::VideoMode::getDesktopMode().width, sf::VideoMode::getDesktopMode().height)); Background.setPosition(0, 0); bgTex.loadFromFile("Sprites/Background.png"); for(unsigned i = 0; i < NumE; i++) { enemy.push_back(Enemy()); bullet.push_back(Bullet()); enemyFire.push_back(EnemyFire()); } enemySpeed = 0.3f; fireRate = 5.0f; bossFireRate = 3.0f; delayTime = 0; bossDelayTime = 0; score = 0; killCount = 0; timesHit = 0; minEnemies = 1; paused = false; GameStart = true; GameOver = false; collision = false; enemyHit = false; victory = false; mouseClicked = false; globalVariables.SetGameStart(true); ///////////////////////////////////////////// // Emotiv // frustrationScore = 0; excitementScore = 0; meditationScore = 0; boredomScore = 0; updateRate = 0; }