本文整理汇总了C++中World::GetPeerPlayer方法的典型用法代码示例。如果您正苦于以下问题:C++ World::GetPeerPlayer方法的具体用法?C++ World::GetPeerPlayer怎么用?C++ World::GetPeerPlayer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类World
的用法示例。
在下文中一共展示了World::GetPeerPlayer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Tick
//.........这里部分代码省略.........
plume->type = 4;
/*plume->xv = (rand() % 17) - 8;
plume->yv = (rand() % 17) - 8;
plume->xv = (xn * abs(plume->xv)) + (rand() % 33) - 16;
plume->yv = (yn * abs(plume->yv)) + (rand() % 33) - 16;*/
float angle = (i / float(numplumes)) * (2 * 3.14);
angle += anglen;
plume->xv = (sin(angle)) * 15;
plume->yv = (cos(angle)) * 15;
if(xn || yn){
plume->xv = (xn * abs(plume->xv)) + (rand() % 17) - 8;
plume->yv = (yn * abs(plume->yv)) + (rand() % 17) - 8;
}
plume->SetPosition(x, y);
Plume * plume2 = (Plume *)world.CreateObject(ObjectTypes::PLUME);
if(plume2){
plume2->type = 4;
plume2->xv = plume->xv + (rand() % 7) - 3;
plume2->yv = plume->yv + (rand() % 7) - 3;
plume2->SetPosition(x, y);
}
}
}
std::vector<Uint8> types;
types.push_back(ObjectTypes::PLAYER);
types.push_back(ObjectTypes::GUARD);
types.push_back(ObjectTypes::ROBOT);
types.push_back(ObjectTypes::CIVILIAN);
types.push_back(ObjectTypes::FIXEDCANNON);
types.push_back(ObjectTypes::WALLDEFENSE);
types.push_back(ObjectTypes::TECHSTATION);
Object * owner = world.GetObjectFromId(ownerid);
Uint16 teamid = 0;
bool issecurity = false;
if(owner){
switch(owner->type){
case ObjectTypes::PLAYER:{
Player * player = static_cast<Player *>(owner);
Team * team = player->GetTeam(world);
if(team){
teamid = team->id;
}
}break;
case ObjectTypes::ROBOT:{
Robot * robot = static_cast<Robot *>(owner);
teamid = robot->virusplanter;
issecurity = world.IsSecurity(*robot);
}break;
case ObjectTypes::GUARD:{
issecurity = true;
}break;
}
}
std::vector<Object *> objects = world.TestAABB(x - 30, y - 30, x + 30, y + 30, types, ownerid, teamid);
for(std::vector<Object *>::iterator it = objects.begin(); it != objects.end(); it++){
if(!object || (object && (*it)->id != object->id)){
if(!issecurity || (issecurity && !world.IsSecurity(*(*it)))){ // prevents robots/rocket guards from doing slash damage to other security
Object damageprojectile(ObjectTypes::ROCKETPROJECTILE);
damageprojectile.healthdamage = healthdamage;
damageprojectile.shielddamage = shielddamage;
damageprojectile.ownerid = ownerid;
(*it)->HandleHit(world, 50, 50, damageprojectile);
}
}
}
xv = 0;
yv = 0;
res_bank = 0xFF;
if(soundchannel){
Audio::GetInstance().Stop(soundchannel, 100);
}
EmitSound(world, world.resources.soundbank["seekexp1.wav"], 128);
}
for(int i = 0; i < 2; i++){
int xv2 = (signed(oldx) - x) * (1.25 * i);
int yv2 = (signed(oldy) - y) * (1.25 * i);
Plume * plume = (Plume *)world.CreateObject(ObjectTypes::PLUME);
if(plume){
plume->type = 3;
plume->xv = rand() % 7 - 3;
plume->yv = rand() % 7 - 3;
plume->SetPosition(x + xv2, y + yv2);
}
}
}
if(state_i < 11 || (state_i >= 11 && xv == 0 && yv == 0)){
state_i++;
}
if(state_i >= 25){
world.MarkDestroyObject(id);
}else{
Player * localplayer = world.GetPeerPlayer(world.localpeerid);
if(localplayer && ownerid == localplayer->id){
//if(!world.systemcameraactive[0]){
world.SetSystemCamera(0, id, 0, 20);
//}
}
}
}