#include"DemoJet.h" #include"InGameAppState.h" #include"util.h" using namespace game::core; using namespace game::util; namespace game{ namespace content{ DemoJet::DemoJet(GameManager *gM, Player *player,vector3df pos, int id, bool onBoard) :Jet(gM, player,pos, id,onBoard) {} void DemoJet::attack(Order order){ if(!onBoard){ Unit::attack(order); vector3df target=*order.targetPos[0]; float angle=getAngleBetween(dirVec,target-pos); vector3df axis=dirVec.crossProduct(target-pos); if(maxTurnAnglegetDevice()->getSceneManager(); ISceneNode *collNode = castRay(smgr,pos,pos+dirVec*length); if(collNode&&collNode!=node){ InGameAppState *inGameState=((InGameAppState*)gameManager->getAppState(AppStateTypes::IN_GAME_STATE)); for(Player *p : inGameState->getPlayers()) for(Unit *u : p->getUnits()) if(u->getNode()==collNode) u->takeDamage(damage); blowUp(); } else if(pos.Y<0) blowUp(); } } } }