本文整理汇总了C++中IshipIGC::GetTurretID方法的典型用法代码示例。如果您正苦于以下问题:C++ IshipIGC::GetTurretID方法的具体用法?C++ IshipIGC::GetTurretID怎么用?C++ IshipIGC::GetTurretID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IshipIGC
的用法示例。
在下文中一共展示了IshipIGC::GetTurretID方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetIGCShip
void CFSShip::ShipStatusDocked(IstationIGC* pstation)
{
StationID stationID = pstation->GetObjectID();
SectorID sectorID = pstation->GetCluster()->GetObjectID();
HullID hullID;
{
IhullTypeIGC* pht = GetIGCShip()->GetBaseHullType();
hullID = pht ? pht->GetObjectID() : NA;
}
IsideIGC* psideMe = GetIGCShip()->GetSide();
for (SideLinkIGC* psl = GetMission()->GetIGCMission()->GetSides()->first();
(psl != NULL);
psl = psl->next())
{
IsideIGC* pside = psl->data();
if ((pside == psideMe || pside->AlliedSides(pside,psideMe)) || // #ALLY Imago 7/8/09 VISIBILITY?
(GetIGCShip()->SeenBySide(pside) && pstation->SeenBySide(pside)))
{
SideID sideID = pside->GetObjectID();
ShipStatus* pss = &(m_rgShipStatus[sideID]);
pss->SetStateTime(g.timeNow.clock());
pss->SetState(c_ssDocked);
pss->SetParentID(NA);
pss->SetStationID(stationID);
pss->SetSectorID(sectorID);
pss->SetHullID(hullID);
//Adjust the ship status for all of the children as well
{
for (ShipLinkIGC* psl = GetIGCShip()->GetChildShips()->first();
(psl != NULL);
psl = psl->next())
{
IshipIGC* pship = psl->data();
ShipStatus* pss = ((CFSShip*)(pship->GetPrivateData()))->GetShipStatus(sideID);
assert ((pship->GetTurretID() == NA)
? (pss->GetState() == c_ssObserver)
: (pss->GetState() == c_ssTurret));
assert (pss->GetParentID() == GetIGCShip()->GetObjectID());
assert (pss->GetHullID() == NA);
pss->SetStationID(stationID);
pss->SetSectorID(sectorID);
}
}
}
}
}
示例2: ShipStatusSpotted
void CFSShip::ShipStatusSpotted(IsideIGC* pside)
{
SideID sideID = pside->GetObjectID();
SectorID sectorID;
{
IclusterIGC* pcluster = GetIGCShip()->GetCluster();
if (pcluster == NULL)
{
IstationIGC* pstation = GetIGCShip()->GetStation();
assert (pstation);
pcluster = pstation->GetCluster();
}
sectorID = pcluster->GetObjectID();
}
ShipStatus* pss = &m_rgShipStatus[sideID];
pss->SetStateTime(g.timeNow.clock());
pss->SetState(c_ssFlying);
pss->SetParentID(NA);
pss->SetHullID(GetIGCShip()->GetHullType()->GetObjectID());
pss->SetSectorID(sectorID);
//Flag that we have been detected as well
IsideIGC* mySide = GetSide();
SideID mySideID = mySide->GetObjectID();
if (mySide != pside && !mySide->AlliedSides(mySide, pside)) //#ALLY -was: mySide != pside (Imago fixed 7/8/09)
m_rgShipStatus[mySideID].SetDetected(true);
//Adjust the ship status for all of the children as well
{
for (ShipLinkIGC* psl = GetIGCShip()->GetChildShips()->first();
(psl != NULL);
psl = psl->next())
{
IshipIGC* pship = psl->data();
CFSShip* pfsship = ((CFSShip*)(pship->GetPrivateData()));
ShipStatus* pss = pfsship->GetShipStatus(sideID);
pss->SetState((pship->GetTurretID() == NA) ? c_ssObserver : c_ssTurret);
pss->SetHullID(NA);
pss->SetSectorID(sectorID);
pss->SetParentID(GetShipID());
if (mySide != pside && !mySide->AlliedSides(mySide, pside)) //#ALLY -was != (Imago fixed 7/8/09)
pfsship->GetShipStatus(mySideID)->SetDetected(true);
}
}
}
示例3:
void CweaponIGC::SetMountID(Mount newVal)
{
assert(m_ship);
if (newVal != m_mountID)
{
Deactivate();
if (m_pshipGunner)
SetGunner(NULL);
m_ship->MountPart(this, newVal, &m_mountID);
if (newVal >= 0)
{
//Get the corresponding hardpoint: we know one exists because the
//ship allowed the part to be mounted.
const IhullTypeIGC* pht = m_ship->GetBaseHullType();
assert(pht);
m_pposition = &(pht->GetWeaponPosition(newVal));
m_porientation = &(pht->GetWeaponOrientation(newVal));
//Is there a turret gunner in this position (who does not have a gun)
{
for (ShipLinkIGC* psl = m_ship->GetChildShips()->first(); (psl != NULL); psl = psl->next())
{
IshipIGC* pship = psl->data();
if (pship->GetTurretID() == newVal)
{
SetGunner(pship);
break;
}
}
}
}
}
}