本文整理汇总了C++中serializer::Reader::Vector3d方法的典型用法代码示例。如果您正苦于以下问题:C++ Reader::Vector3d方法的具体用法?C++ Reader::Vector3d怎么用?C++ Reader::Vector3d使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类serializer::Reader
的用法示例。
在下文中一共展示了Reader::Vector3d方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Load
void Projectile::Load(Serializer::Reader &rd, Space *space)
{
Body::Load(rd, space);
m_baseVel = rd.Vector3d();
m_dirVel = rd.Vector3d();
m_age = rd.Float();
m_type = rd.Int32();
m_parentIndex = rd.Int32();
}
示例2: Load
void Projectile::Load(Serializer::Reader &rd, Space *space)
{
Body::Load(rd, space);
for (int i=0; i<16; i++) m_orient[i] = rd.Double();
m_baseVel = rd.Vector3d();
m_dirVel = rd.Vector3d();
m_age = rd.Float();
m_type = rd.Int32();
m_parentIndex = rd.Int32();
}
示例3: AICommand
AIParagonCmdGoTo::AIParagonCmdGoTo(Serializer::Reader &rd) : AICommand(rd, CMD_PARAGON_GOTO)
{
m_targetFrameIndex = rd.Int32();
m_targetPosition = rd.Vector3d();
m_toTransit = rd.Bool();
if(Game::s_loadedGameVersion >= 77) { // Save game upgrade: 76 -> 77
m_targetOrient = matrix3x3d::FromVectors(
rd.Vector3d(), rd.Vector3d(), rd.Vector3d());
m_startPO.pos = rd.Vector3d();
m_startPO.xaxis = rd.Vector3d();
m_startPO.yaxis = rd.Vector3d();
m_startPO.zaxis = rd.Vector3d();
m_endPO.pos = rd.Vector3d();
m_endPO.xaxis = rd.Vector3d();
m_endPO.yaxis = rd.Vector3d();
m_endPO.zaxis = rd.Vector3d();
m_speedLimit = rd.Double();
m_arrivalSpeed = rd.Double();
m_mode = static_cast<EGoToMode>(rd.Int32());
}
}
示例4: Load
void DynamicBody::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
m_force = rd.Vector3d();
m_torque = rd.Vector3d();
m_vel = rd.Vector3d();
m_angVel = rd.Vector3d();
m_mass = rd.Double();
m_massRadius = rd.Double();
m_angInertia = rd.Double();
m_isMoving = rd.Bool();
}
示例5: Load
void Ship::Load(Serializer::Reader &rd, Space *space)
{
DynamicBody::Load(rd, space);
// needs fixups
m_angThrusters = rd.Vector3d();
m_thrusters = rd.Vector3d();
m_wheelTransition = rd.Int32();
m_wheelState = rd.Float();
m_launchLockTimeout = rd.Float();
m_testLanded = rd.Bool();
m_flightState = FlightState(rd.Int32());
m_alertState = AlertState(rd.Int32());
m_lastFiringAlert = rd.Double();
m_hyperspace.dest = SystemPath::Unserialize(rd);
m_hyperspace.countdown = rd.Float();
for (int i=0; i<ShipType::GUNMOUNT_MAX; i++) {
m_gunState[i] = rd.Int32();
m_gunRecharge[i] = rd.Float();
m_gunTemperature[i] = rd.Float();
}
m_ecmRecharge = rd.Float();
m_shipFlavour.Load(rd);
m_type = &ShipType::types[m_shipFlavour.id];
m_dockedWithPort = rd.Int32();
m_dockedWithIndex = rd.Int32();
m_equipment.InitSlotSizes(m_shipFlavour.id);
m_equipment.Load(rd);
Init();
m_stats.hull_mass_left = rd.Float(); // must be after Init()...
m_stats.shield_mass_left = rd.Float();
if(rd.Int32()) m_curAICmd = AICommand::Load(rd);
else m_curAICmd = 0;
m_aiMessage = AIError(rd.Int32());
SetFuel(rd.Double());
m_stats.fuel_tank_mass_left = GetShipType().fuelTankMass * GetFuel();
m_reserveFuel = rd.Double();
UpdateStats(); // this is necessary, UpdateStats() in Ship::Init has wrong values of m_thrusterFuel after Load
m_controller = 0;
const ShipController::Type ctype = static_cast<ShipController::Type>(rd.Int32());
if (ctype == ShipController::PLAYER)
SetController(new PlayerShipController());
else
SetController(new ShipController());
m_controller->Load(rd);
m_equipment.onChange.connect(sigc::mem_fun(this, &Ship::OnEquipmentChange));
}
示例6: Load
void DynamicBody::Load(Serializer::Reader &rd)
{
ModelBody::Load(rd);
for (int i=0; i<16; i++) m_orient[i] = rd.Double();
m_oldOrient = m_orient;
m_force = rd.Vector3d();
m_torque = rd.Vector3d();
m_vel = rd.Vector3d();
m_angVel = rd.Vector3d();
m_mass = rd.Double();
m_massRadius = rd.Double();
m_angInertia = rd.Double();
m_enabled = rd.Bool();
}
示例7: Load
void TerrainBody::Load(Serializer::Reader &rd, Space *space)
{
Body::Load(rd, space);
m_pos = rd.Vector3d();
SBody *sbody = space->GetSBodyByIndex(rd.Int32());
InitTerrainBody(sbody);
}
示例8: Load
void Planet::Load(Serializer::Reader &rd)
{
Body::Load(rd);
pos = rd.Vector3d();
sbody = Serializer::LookupSystemBody(rd.Int32());
Init();
}
示例9: Load
void SpaceStation::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
MarketAgent::Load(rd);
int num = rd.Int32();
if (num > Equip::TYPE_MAX) throw SavedGameCorruptException();
for (int i=0; i<Equip::TYPE_MAX; i++) {
m_equipmentStock[i] = 0;
}
for (int i=0; i<num; i++) {
m_equipmentStock[i] = static_cast<Equip::Type>(rd.Int32());
}
// load shityard
int numShipsForSale = rd.Int32();
for (int i=0; i<numShipsForSale; i++) {
ShipFlavour s;
s.Load(rd);
m_shipsOnSale.push_back(s);
}
for (int i=0; i<MAX_DOCKING_PORTS; i++) {
m_shipDocking[i].shipIndex = rd.Int32();
m_shipDocking[i].stage = rd.Int32();
m_shipDocking[i].stagePos = rd.Float();
m_shipDocking[i].fromPos = rd.Vector3d();
m_shipDocking[i].fromRot = rd.RdQuaternionf();
m_openAnimState[i] = rd.Float();
m_dockAnimState[i] = rd.Float();
}
m_bbCreated = rd.Bool();
m_lastUpdatedShipyard = rd.Double();
m_sbody = space->GetSystemBodyByIndex(rd.Int32());
m_numPoliceDocked = rd.Int32();
InitStation();
}
示例10: Load
void Body::Load(Serializer::Reader &rd)
{
m_frame = Serializer::LookupFrame(rd.Int32());
m_label = rd.String();
m_onscreen = rd.Bool();
m_projectedPos = rd.Vector3d();
m_dead = rd.Bool();
m_hasDoubleFrame = rd.Bool();
}
示例11: Load
void HyperspaceCloud::Load(Serializer::Reader &rd, Space *space)
{
Body::Load(rd, space);
m_vel = rd.Vector3d();
m_birthdate = rd.Double();
m_due = rd.Double();
m_isArrival = rd.Bool();
if (rd.Bool()) {
m_ship = static_cast<Ship*>(Body::Unserialize(rd, space));
}
}
示例12: Load
void Body::Load(Serializer::Reader &rd, Space *space)
{
m_frame = space->GetFrameByIndex(rd.Int32());
m_label = rd.String();
Properties().Set("label", m_label);
m_dead = rd.Bool();
m_pos = rd.Vector3d();
for (int i=0; i<9; i++) m_orient[i] = rd.Double();
m_physRadius = rd.Double();
m_clipRadius = rd.Double();
}
示例13: Load
void Ship::Load(Serializer::Reader &rd)
{
DynamicBody::Load(rd);
// needs fixups
m_angThrusters = rd.Vector3d();
m_thrusters = rd.Vector3d();
m_wheelTransition = rd.Int32();
m_wheelState = rd.Float();
m_launchLockTimeout = rd.Float();
m_testLanded = rd.Bool();
m_flightState = FlightState(rd.Int32());
m_alertState = AlertState(rd.Int32());
m_lastFiringAlert = rd.Float();
m_hyperspace.dest = SystemPath::Unserialize(rd);
m_hyperspace.countdown = rd.Float();
for (int i=0; i<ShipType::GUNMOUNT_MAX; i++) {
m_gunState[i] = rd.Int32();
m_gunRecharge[i] = rd.Float();
m_gunTemperature[i] = rd.Float();
}
m_ecmRecharge = rd.Float();
m_shipFlavour.Load(rd);
m_dockedWithPort = rd.Int32();
m_dockedWithIndex = rd.Int32();
m_equipment.InitSlotSizes(m_shipFlavour.type);
m_equipment.Load(rd);
Init();
m_stats.hull_mass_left = rd.Float(); // must be after Init()...
m_stats.shield_mass_left = rd.Float();
if(rd.Int32()) m_curAICmd = AICommand::Load(rd);
else m_curAICmd = 0;
m_equipment.onChange.connect(sigc::mem_fun(this, &Ship::OnEquipmentChange));
}
示例14: Load
void CollMesh::Load(Serializer::Reader &rd)
{
m_aabb.max = rd.Vector3d();
m_aabb.min = rd.Vector3d();
m_aabb.radius = rd.Double();
m_geomTree = new GeomTree(rd);
const Uint32 numDynGeomTrees = rd.Int32();
m_dynGeomTrees.reserve(numDynGeomTrees);
for (Uint32 it = 0; it < numDynGeomTrees; ++it) {
m_dynGeomTrees.push_back(new GeomTree(rd));
}
m_totalTris = rd.Int32();
}
示例15: Load
void SpaceStation::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
m_oldAngDisplacement = 0.0;
int num = rd.Int32();
if (num > Equip::TYPE_MAX) throw SavedGameCorruptException();
const Uint32 numShipDocking = rd.Int32();
m_shipDocking.reserve(numShipDocking);
for (Uint32 i=0; i<numShipDocking; i++) {
m_shipDocking.push_back(shipDocking_t());
shipDocking_t &sd = m_shipDocking.back();
sd.shipIndex = rd.Int32();
sd.stage = rd.Int32();
sd.stagePos = rd.Float();
sd.fromPos = rd.Vector3d();
sd.fromRot = rd.RdQuaternionf();
}
// retrieve each of the bay groupings
const Uint32 numBays = rd.Int32();
mBayGroups.reserve(numBays);
for (Uint32 i=0; i<numBays; i++) {
mBayGroups.push_back(SpaceStationType::SBayGroup());
SpaceStationType::SBayGroup &bay = mBayGroups.back();
bay.minShipSize = rd.Int32();
bay.maxShipSize = rd.Int32();
bay.inUse = rd.Bool();
const Uint32 numBayIds = rd.Int32();
bay.bayIDs.reserve(numBayIds);
for (Uint32 j=0; j<numBayIds; j++) {
const Uint32 ID = rd.Int32();
bay.bayIDs.push_back(ID);
}
}
m_sbody = space->GetSystemBodyByIndex(rd.Int32());
m_numPoliceDocked = rd.Int32();
m_doorAnimationStep = rd.Double();
m_doorAnimationState = rd.Double();
InitStation();
m_navLights->Load(rd);
}