#include "team.h" #include "cap.h" #include "actormanager.h" #include "humanmanager.h" #include "game.h" #include "soccergame.h" Game* Team::g=NULL; Team::Team() { } Team::~Team() { } void Team::init(Game::team_t t,const Theme *theme) { team=t; Cap::setGraze(1.0-theme->graze); //numero de chapas num_caps=theme->caps; Cap *c; //Le creamos un turno del tipo que sea m=new HumanManager; m->setGame(g); m->init(t); for(int i=0;isetID(i); c->setTeam(t); c->setMass(theme->cap_mass); if(t==SG::LEFT) { if(i==0) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_1_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_1_y)); else if(i==1) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_2_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_2_y)); else if(i==2) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_3_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_3_y)); else if(i==3) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_4_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_4_y)); else if(i==4) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_5_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_5_y)); else if(i==5) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_6_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_6_y)); else if(i==6) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_7_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_7_y)); else if(i==7) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_8_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_8_y)); else if(i==8) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_9_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_9_y)); else if(i==9) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_left_10_x,\ theme->stadium_y+theme->stadium_h*theme->cap_left_10_y)); } else { if(i==0) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_1_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_1_y)); else if(i==1) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_2_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_2_y)); else if(i==2) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_3_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_3_y)); else if(i==3) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_4_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_4_y)); else if(i==4) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_5_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_5_y)); else if(i==5) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_6_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_6_y)); else if(i==6) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_7_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_7_y)); else if(i==7) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_8_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_8_y)); else if(i==8) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_9_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_9_y)); else if(i==9) c->setInitialPos(Vector(theme->stadium_x+theme->stadium_w*theme->cap_right_10_x,\ theme->stadium_y+theme->stadium_h*theme->cap_right_10_y)); } c->init(); g->actormanager->activate(c); caps.push_back(c); } collocateCaps(); } void Team::collocateCaps() { for(int i=0;ireturnInitialPos(); } void Team::update() { m->update(); } void Team::shutdown() { m->shutdown(); } bool Team::isOver() { if(m->isOver()) { caps[m->getCap()]->setVel(m->getVel()); caps[m->getCap()]->setAccel(m->getAccel()); return true; } return false; } void Team::delCap(Cap *c) { for(int i=0;isetID(i); } caps[num_caps]=NULL; num_caps--; g->actormanager->erase(c); break; } } } Cap* Team::getCap(const int i) { if(i