本文整理汇总了C++中SerializedGameData::PopEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ SerializedGameData::PopEvent方法的具体用法?C++ SerializedGameData::PopEvent怎么用?C++ SerializedGameData::PopEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SerializedGameData
的用法示例。
在下文中一共展示了SerializedGameData::PopEvent方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nofActiveSoldier
nofAttacker::nofAttacker(SerializedGameData& sgd, const unsigned obj_id) : nofActiveSoldier(sgd, obj_id)
{
if(state != STATE_WALKINGHOME && state != STATE_FIGUREWORK)
{
attacked_goal = sgd.PopObject<nobBaseMilitary>(GOT_UNKNOWN);
mayBeHunted = sgd.PopBool();
sgd.PopContainer(canPlayerSendAggDefender);
RTTR_Assert(canPlayerSendAggDefender.size() == gwg->GetNumPlayers());
huntingDefender = sgd.PopObject<nofAggressiveDefender>(GOT_NOF_AGGRESSIVEDEFENDER);
radius = sgd.PopUnsignedShort();
if(state == STATE_ATTACKING_WAITINGFORDEFENDER)
blocking_event = sgd.PopEvent();
else
blocking_event = nullptr;
harborPos = sgd.PopMapPoint();
shipPos = sgd.PopMapPoint();
ship_obj_id = sgd.PopUnsignedInt();
} else
{
attacked_goal = nullptr;
mayBeHunted = false;
canPlayerSendAggDefender.resize(gwg->GetNumPlayers(), 2);
huntingDefender = nullptr;
radius = 0;
blocking_event = nullptr;
harborPos = MapPoint::Invalid();
shipPos = MapPoint::Invalid(); //-V656
ship_obj_id = 0;
}
}
示例2: noBuilding
nobUsual::nobUsual(SerializedGameData& sgd, const unsigned obj_id)
: noBuilding(sgd, obj_id), worker(sgd.PopObject<nofBuildingWorker>(GOT_UNKNOWN)), productivity(sgd.PopUnsignedShort()),
disable_production(sgd.PopBool()), disable_production_virtual(disable_production), last_ordered_ware(sgd.PopUnsignedChar()),
orderware_ev(sgd.PopEvent()), productivity_ev(sgd.PopEvent()), numGfNotWorking(sgd.PopUnsignedShort()),
since_not_working(sgd.PopUnsignedInt()), outOfRessourcesMsgSent(sgd.PopBool()), is_working(sgd.PopBool())
{
for(unsigned i = 0; i < 3; ++i)
numWares[i] = sgd.PopUnsignedChar();
ordered_wares.resize(BLD_WORK_DESC[bldType_].waresNeeded.getNum());
for(std::list<Ware*>& orderedWare : ordered_wares)
sgd.PopObjectContainer(orderedWare, GOT_WARE);
for(unsigned short& last_productivitie : last_productivities)
last_productivitie = sgd.PopUnsignedShort();
}
示例3: noCoordBase
noMovable::noMovable(SerializedGameData& sgd, const unsigned obj_id) : noCoordBase(sgd, obj_id),
curMoveDir(sgd.PopUnsignedChar()),
ascent(sgd.PopUnsignedChar()),
current_ev(sgd.PopEvent()),
pause_walked_gf(sgd.PopUnsignedInt()),
pause_event_length(sgd.PopUnsignedInt())
, moving(sgd.PopBool())
{
}
示例4: noBase
noFighting::noFighting(SerializedGameData& sgd, const unsigned obj_id) : noBase(sgd, obj_id),
turn(sgd.PopUnsignedChar()),
defending_animation(sgd.PopUnsignedChar()),
current_ev(sgd.PopEvent()),
player_won(sgd.PopUnsignedChar())
{
for(unsigned i = 0; i < 2; ++i)
soldiers[i] = sgd.PopObject<nofActiveSoldier>(GOT_UNKNOWN);
}
示例5: GameObject
CatapultStone::CatapultStone(SerializedGameData& sgd, const unsigned obj_id) : GameObject(sgd, obj_id),
dest_building(sgd.PopMapPoint()),
dest_map(sgd.PopMapPoint()),
start_x(sgd.PopSignedInt()),
start_y(sgd.PopSignedInt()),
dest_x(sgd.PopSignedInt()),
dest_y(sgd.PopSignedInt()),
explode(sgd.PopBool()),
event(sgd.PopEvent())
{
}
示例6: nobBaseMilitary
nobMilitary::nobMilitary(SerializedGameData& sgd, const unsigned obj_id) : nobBaseMilitary(sgd, obj_id),
is_regulating_troops(false)
{
// use a bitfield instead of 1 unsigned char per boolean
// mainly for compatibility :-)
unsigned char bitfield = sgd.PopUnsignedChar();
new_built = bitfield & (1 << 0);
captured_not_built = !(bitfield & (1 << 1));
coins = sgd.PopUnsignedChar();
coinsDisabled = sgd.PopBool();
coinsDisabledVirtual = sgd.PopBool();
frontier_distance = sgd.PopUnsignedChar();
size = sgd.PopUnsignedChar();
capturing = sgd.PopBool();
capturing_soldiers = sgd.PopUnsignedInt();
goldorder_event = sgd.PopEvent();
upgrade_event = sgd.PopEvent();
sgd.PopObjectContainer(ordered_troops, GOT_NOF_PASSIVESOLDIER);
sgd.PopObjectContainer(ordered_coins, GOT_WARE);
sgd.PopObjectContainer(troops, GOT_NOF_PASSIVESOLDIER);
sgd.PopObjectContainer(far_away_capturers, GOT_NOF_ATTACKER);
mAutoTrain = sgd.PopBool();
mAutoTrainVirtual = sgd.PopBool();
// ins Militärquadrat einfügen
gwg->GetMilitarySquares().Add(this);
if(capturing && capturing_soldiers == 0 && aggressors.empty())
{
LOG.lprintf("Bug in savegame detected: Building at (%d,%d) beeing captured has no capturers. Trying to fix this...\n", pos.x, pos.y);
capturing = false;
}
}
示例7: noFigure
nofCarrier::nofCarrier(SerializedGameData& sgd, unsigned int obj_id)
: noFigure(sgd, obj_id),
ct( CarrierType(sgd.PopUnsignedChar()) ),
state( CarrierState(sgd.PopUnsignedChar()) ),
fat( sgd.PopBool() ),
workplace( sgd.PopObject<RoadSegment>(GOT_ROADSEGMENT) ),
carried_ware( sgd.PopObject<Ware>(GOT_WARE) ),
productivity_ev(sgd.PopEvent()),
productivity(sgd.PopUnsignedInt()),
worked_gf(sgd.PopUnsignedInt()),
since_working_gf(sgd.PopUnsignedInt()),
next_animation(0)
{
if(state == CARRS_BOATCARRIER_WANDERONWATER)
{
shore_path.resize(sgd.PopUnsignedInt());
for(std::vector<unsigned char>::iterator it = shore_path.begin(); it != shore_path.end(); ++it)
*it = sgd.PopUnsignedChar();
}
}
示例8: noCoordBase
noFire::noFire(SerializedGameData& sgd, const unsigned obj_id)
: noCoordBase(sgd, obj_id), isBig(sgd.PopBool()), dead_event(sgd.PopEvent()), was_sounding(false), last_sound(0), next_interval(0)
{}