本文整理汇总了C++中Orientation::GetForward方法的典型用法代码示例。如果您正苦于以下问题:C++ Orientation::GetForward方法的具体用法?C++ Orientation::GetForward怎么用?C++ Orientation::GetForward使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Orientation
的用法示例。
在下文中一共展示了Orientation::GetForward方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetString
ZString GetString(int indent, const Orientation& orient)
{
return
"Orientation("
+ GetString(indent, orient.GetUp()) + ", "
+ GetString(indent, orient.GetForward()) + ")";
}
示例2: Goal
//------------------------------------------------------------------------------
Goal* Mission5::CreateGoal03 (void)
{
GoalList* pGoalList = new GoalList;
// tm_5_12
// Attention, Cadet, new contact: an enemy scout. In some
// cases, utility craft like miners will run home for
// protection, but you can tell them to hide by giving them
// orders to go to a base. You left-click the miners, then
// left-click the Go To command, and then right-click ÿ the
// base.
{
Goal* pGoal = CreatePlaySoundGoal (tm_5_12Sound);
IwarpIGC* pAlephMars = trekClient.GetCore ()->GetWarp (1052);
Orientation alephMarsOrientation = pAlephMars->GetOrientation ();
// create the enemy scout
Vector pos = pAlephMars->GetPosition () + (alephMarsOrientation.GetForward () * random (800.0f, 1200.0f)) + (alephMarsOrientation.GetRight () * random(-100.0f, 200.0f));
CreateDroneAction* pCreateDroneAction = new CreateDroneAction ("Enemy Scout", m_enemyScoutID, 310, 1, c_ptWingman);
pCreateDroneAction->SetCreatedLocation (GetStartSectorID () + 1, pos);
pGoal->AddStartAction (pCreateDroneAction);
// tell the enemy scout of these guys to do nothing
pGoal->AddStartAction (new SetCommandAction (m_enemyScoutID, c_cmdAccepted, NULL, c_cidDoNothing));
pGoal->AddStartAction (new SetCommandAction (m_enemyScoutID, c_cmdCurrent, NULL, c_cidDoNothing));
// set its signature to infinity
pGoal->AddStartAction (new SetSignatureAction (OT_ship, m_enemyScoutID, 1.0e6f));
pGoalList->AddGoal (pGoal);
}
// wait half second
pGoalList->AddGoal (new Goal (new ElapsedTimeCondition (0.5f)));
// tm_5_13
// Most enemy ships can be considered a threat to your miners
// unless you have plenty of defending pilots ? which you
// don?t. So let's get those miners to shelter ? send all
// three of them to the base.
pGoalList->AddGoal (CreatePlaySoundGoal (tm_5_13Sound));
// tm_5_13r
// Send all three of your miners to base for safety.
{
Condition* pAndConditionA = new AndCondition (new GetCommandCondition (m_miner2ID, c_cidGoto), new GetCommandCondition (m_miner3ID, c_cidGoto));
Condition* pConditionB = new GetCommandCondition (m_miner4ID, c_cidGoto);
Goal* pGoal = new Goal (new AndCondition (pAndConditionA, pConditionB));
pGoal->AddStartAction (new MessageAction ("Order all three miners back to base for safety."));
pGoal->AddConstraintCondition (CreateTooLongCondition (30.0f, tm_5_13rSound));
pGoalList->AddGoal (pGoal);
}
// wait half second
pGoalList->AddGoal (new Goal (new ElapsedTimeCondition (0.5f)));
// tm_5_14
// Good! Utility ships like miners and constructors are
// drones. They will always accept your orders.
pGoalList->AddGoal (CreatePlaySoundGoal (tm_5_14Sound));
// wait half second
pGoalList->AddGoal (new Goal (new ElapsedTimeCondition (0.5f)));
return new Goal (pGoalList);
}