本文整理汇总了C++中NPC::getJumper方法的典型用法代码示例。如果您正苦于以下问题:C++ NPC::getJumper方法的具体用法?C++ NPC::getJumper怎么用?C++ NPC::getJumper使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NPC
的用法示例。
在下文中一共展示了NPC::getJumper方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: castSkybaserForGhost
void castSkybaserForGhost(Mission* mission, Airplane* airplane, CatToy* ghost)
{
assert( ghost );
// detect cattoy level
float cattoyLevel = 0.25f * (
ghost->getVirtues()->getEnduranceSkill() +
ghost->getVirtues()->getPerceptionSkill() +
ghost->getVirtues()->getRiggingSkill() +
ghost->getVirtues()->getTrackingSkill()
);
// detect player is a LICENSED_CHAR
bool playerIsLicensed = mission->getScene()->getCareer()->getLicensedFlag();
// build list of same level npc
std::vector<unsigned int> npcs;
database::NPCInfo::select( cattoyLevel, 0.126f, !playerIsLicensed, npcs );
// select NPC
unsigned int index = getCore()->getRandToolkit()->getUniformInt() % npcs.size();
unsigned int npcId = npcs[index];
// create NPC
NPC* npc = new NPC( mission, npcId, airplane, NULL, ghost );
// devote ghost
npc->devoteCattoy();
// setup cameraman behaviour
npc->setProgram( new NPCCameraman( npc ) );
// setup brief signature
npc->getJumper()->setSignatureType( stBrief );
}
示例2: castGhostNPC
NPC* castGhostNPC(Mission* mission, Enclosure* enclosure, CatToy* ghost, unsigned int npcId)
{
// create NPC
NPC* npc = new NPC( mission, npcId, NULL, enclosure, ghost );
// setup cameraman behaviour
npc->setProgram( new NPCCameraman( npc ) );
// setup brief signature
npc->getJumper()->setSignatureType( stBrief );
return npc;
}
示例3: consumePacket
void Mission::consumePacket(NetworkData *packet) {
getCore()->logMessage("Revceived packet with data_type: %d", packet->data_type);
// network id [int]
if (packet->data_type == 1) {
memcpy(&this->getPlayer()->network_id, packet->data, sizeof this->network_id);
this->network_id = this->getPlayer()->network_id;
// add jumper
} else if (packet->data_type == 2) {
getCore()->logMessage("Create jumper with net id: %d", packet->receiver_id);
NPC* npc = new NPC( this, 1, getPlayer()->getAirplane(), getPlayer()->getEnclosure(), CatToy::wrap( getPlayer() ), getPlayer(), true );
npc->getJumper()->network_id = packet->receiver_id;
npc->getJumper()->getFreefallActor()->setMass(getPlayer()->getVirtues()->appearance.weight);
npc->getJumper()->getFreefallActor()->setGlobalPose(getPlayer()->getFreefallActor()->getGlobalPose());
npc->getJumper()->getFreefallActor()->setLinearVelocity(getPlayer()->getFreefallActor()->getLinearVelocity());
npc->getJumper()->beginFreefall(); // begins in Jumper
delete packet;
}
}
示例4: castingCallback_BASEVFF_PCA
void castingCallback_BASEVFF_PCA(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// build forced equipment
Virtues::Equipment equipment = selectBASEEquipment(
mission->getScene()->getCareer(),
mission->getScene()->getLocation()->getWindAmbient(),
mission->getScene()->getLocation()->getWindBlast()
);
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, &equipment ) );
// setup brief signature for player
mission->getPlayer()->setSignatureType( stBrief );
// cast LICENSED_CHAR as assist base jumper
unsigned int npcId = database::NPCInfo::getLicensedCharacterId();
if( mission->getScene()->getCareer()->getLicensedFlag() )
{
npcId = database::NPCInfo::getRandomNonLicensedCharacter(
mission->getScene()->getCareer()->getVirtues()->getSkillLevel(), 0.25f
);
}
NPC* joeBlack = new NPC( mission, npcId, NULL, exitPoint, CatToy::wrap( mission->getPlayer() ) );
joeBlack->setProgram( new NPCAssist( joeBlack, mission->getPlayer() ) );
// setup brief signature for LICENSED_CHAR
joeBlack->getJumper()->setSignatureType( stBrief );
// cast instructor
new instructor::BASEInstructor01( mission->getPlayer() );
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/dirty_moleculas_action.ogg" );
}
示例5: castCameramanNPC
NPC* castCameramanNPC(Mission* mission, Enclosure* enclosure, Jumper* player, std::vector<unsigned int>& npcs)
{
assert( npcs.size() );
if( npcs.size() )
{
// select NPC
unsigned int index = getCore()->getRandToolkit()->getUniformInt() % npcs.size();
unsigned int npcId = npcs[index];
npcs.erase( npcs.begin() + index );
// create NPC
NPC* npc = new NPC( mission, npcId, NULL, enclosure, CatToy::wrap( player ) );
// setup cameraman behaviour
npc->setProgram( new NPCCameraman( npc ) );
// setup brief signature
npc->getJumper()->setSignatureType( stBrief );
return npc;
}
return NULL;
}
示例6: castingCallback_OpenAir_Opening
void castingCallback_OpenAir_Opening(Actor* parent)
{
Mission* mission = dynamic_cast<Mission*>( parent ); assert( mission );
// technical platform
Enclosure* technicalPlatform = parent->getScene()->getExitPointEnclosure( 0 );
// exit point
Enclosure* exitPoint = parent->getScene()->getExitPointEnclosure( mission->getMissionInfo()->exitPointId );
// cast player on exit point
mission->setPlayer( new Jumper( mission, NULL, exitPoint, NULL, NULL, NULL ) );
// setup full signature for player
mission->getPlayer()->setSignatureType( stFull );
// cast player smokejet
new SmokeJet( mission->getPlayer(), Vector4f( 0.25f, 1.0f, 0.25f, 1.0f ), sjmRight );
// select NPCs
std::vector<unsigned int> npcs;
selectNPCs( mission->getPlayer(), 0.26f, npcs );
// cast cameraman NPC for player
NPC* cameraman = castCameramanNPC( mission, exitPoint, mission->getPlayer(), npcs );
assert( cameraman );
if( cameraman )
{
new SmokeJet( cameraman->getJumper(), Vector4f( 0.25f, 0.25f, 1.0f, 1.0f ), sjmRight );
}
// load ghost
CatToy* catToy = CatToy::loadGhostCatToy( "./usr/cattoys/openair/opening01.cattoy" ); assert( catToy );
// cast ghost NPC at technical platform
NPC* ghost = ::castGhostNPC( mission, technicalPlatform, catToy, npcs );
assert( ghost );
if( ghost )
{
new SmokeJet( ghost->getJumper(), Vector4f( 1.0f, 0.25f, 0.25f, 1.0f ), sjmRight );
}
// cast ghost's cameraman
NPC* ghostCameraman = ::castCameramanNPC( mission, technicalPlatform, ghost->getJumper(), npcs );
assert( ghostCameraman );
if( ghostCameraman )
{
new SmokeJet( ghostCameraman->getJumper(), Vector4f( 1.0f, 1.0f, 0.25f, 1.0f ), sjmRight );
}
// cast script
new script::OpenAir_Opening_Script( mission->getPlayer(), catToy );
// cast goals
new GoalStateOfHealth( mission->getPlayer() );
new GoalStateOfGear( mission->getPlayer() );
new GoalLanding( mission->getPlayer() );
new GoalExperience( mission->getPlayer() );
new GoalBonus( mission->getPlayer(), Gameplay::iLanguage->getUnicodeString(533), btProgressive, 1.0f );
new GoalFreeFallTime( mission->getPlayer() );
new GoalCanopyTime( mission->getPlayer() );
// play original music for this mission
Gameplay::iGameplay->playSoundtrack( "./res/sounds/music/lot of lie.ogg" );
}