本文整理汇总了C++中IsNetworkGame函数的典型用法代码示例。如果您正苦于以下问题:C++ IsNetworkGame函数的具体用法?C++ IsNetworkGame怎么用?C++ IsNetworkGame使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IsNetworkGame函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetFaction
/**
** Change player faction.
**
** @param faction New faction.
*/
void CPlayer::SetFaction(const std::string &faction)
{
for (int i = 0; i < FactionMax; ++i) {
if (!PlayerRaces.FactionNames[this->Race][i].empty() && PlayerRaces.FactionNames[this->Race][i] == faction) {
if (!IsNetworkGame()) { //only set the faction's name as the player's name if this is a single player game
this->SetName(faction);
}
this->Faction = i;
int PrimaryColor;
int SecondaryColor;
for (int j = 0; j < PlayerColorMax; ++j) {
if (PlayerColorNames[j] == PlayerRaces.FactionColors[this->Race][i]) {
PrimaryColor = j;
}
if (PlayerColorNames[j] == PlayerRaces.FactionSecondaryColors[this->Race][i]) {
SecondaryColor = j;
}
}
bool color_used = false;
for (int j = 0; j < PlayerMax; ++j) {
if (this->Index != j && Players[j].Faction != -1 && Players[j].Color == PlayerColors[PrimaryColor][0]) {
color_used = true;
}
}
if (!color_used) {
this->Color = PlayerColors[PrimaryColor][0];
this->UnitColors.Colors = PlayerColorsRGB[PrimaryColor];
} else {
this->Color = PlayerColors[SecondaryColor][0];
this->UnitColors.Colors = PlayerColorsRGB[SecondaryColor];
}
}
}
}
示例2: NetworkEvent
/**
** Called if message for the network is ready.
** (by WaitEventsOneFrame)
*/
void NetworkEvent()
{
if (!IsNetworkGame()) {
NetworkInSync = true;
return;
}
// Read the packet.
unsigned char buf[1024];
CHost host;
int len = NetworkFildes.Recv(&buf, sizeof(buf), &host);
if (len < 0) {
DebugPrint("Server/Client gone?\n");
// just hope for an automatic recover right now..
NetworkInSync = false;
return;
}
// Setup messages
if (NetConnectRunning) {
if (NetworkParseSetupEvent(buf, len, host)) {
return;
}
}
const unsigned char msgtype = buf[0];
if (msgtype == MessageInit_FromClient || msgtype == MessageInit_FromServer) {
return;
}
NetworkParseInGameEvent(buf, len, host);
}
示例3: SendCommandDiplomacy
/**
** Send command: Diplomacy changed.
**
** @param player Player which changes his state.
** @param state New diplomacy state.
** @param opponent Opponent.
*/
void SendCommandDiplomacy(int player, int state, int opponent)
{
if (!IsNetworkGame()) {
switch (state) {
case DiplomacyNeutral:
CommandLog("diplomacy", NoUnitP, 0, player, opponent,
NoUnitP, "neutral", -1);
break;
case DiplomacyAllied:
CommandLog("diplomacy", NoUnitP, 0, player, opponent,
NoUnitP, "allied", -1);
break;
case DiplomacyEnemy:
CommandLog("diplomacy", NoUnitP, 0, player, opponent,
NoUnitP, "enemy", -1);
break;
case DiplomacyCrazy:
CommandLog("diplomacy", NoUnitP, 0, player, opponent,
NoUnitP, "crazy", -1);
break;
}
CommandDiplomacy(player, state, opponent);
} else {
NetworkSendExtendedCommand(ExtendedMessageDiplomacy,
-1, player, state, opponent, 0);
}
}
示例4: DrawMenuButtonArea
/**
** Draw menu button area.
*/
void DrawMenuButtonArea()
{
if (!IsNetworkGame()) {
DrawMenuButtonArea_noNetwork();
} else {
DrawMenuButtonArea_Network();
}
}
示例5: SendCommandBuy
/**
** Send command: Buy an item from a building.
**
** @param unit pointer to unit.
** @param pos map tile position to move to.
*/
void SendCommandBuy(CUnit &unit, CUnit *sold_unit, int player)
{
if (!IsNetworkGame()) {
CommandLog("buy", &unit, 0, -1, -1, sold_unit, NULL, player);
CommandBuy(unit, sold_unit, player);
} else {
NetworkSendCommand(MessageCommandBuy, unit, player, 0, sold_unit, 0, 0);
}
}
示例6: SendCommandRallyPoint
/**
** Send command: Set new rally point for unit.
**
** @param unit pointer to unit.
** @param pos map tile position to move to.
*/
void SendCommandRallyPoint(CUnit &unit, const Vec2i &pos, int z)
{
if (!IsNetworkGame()) {
CommandLog("rally-point", &unit, 0, pos.x, pos.y, NoUnitP, NULL, -1);
CommandRallyPoint(unit, pos, z);
} else {
NetworkSendCommand(MessageCommandMove, unit, pos.x, pos.y, NoUnitP, 0, 0);
}
}
示例7: SendCommandStopUnit
/**
** Send command: Unit stop.
**
** @param unit pointer to unit.
*/
void SendCommandStopUnit(CUnit &unit)
{
if (!IsNetworkGame()) {
CommandLog("stop", &unit, FlushCommands, -1, -1, NoUnitP, NULL, -1);
CommandStopUnit(unit);
} else {
NetworkSendCommand(MessageCommandStop, unit, 0, 0, NoUnitP, 0, FlushCommands);
}
}
示例8: SendCommandUpgradeTo
/**
** Send command: Building starts upgrading to.
**
** @param unit pointer to unit.
** @param what pointer to unit-type of the unit upgrade.
** @param flush Flag flush all pending commands.
*/
void SendCommandUpgradeTo(CUnit &unit, CUnitType &what, int flush)
{
if (!IsNetworkGame()) {
CommandLog("upgrade-to", &unit, flush, -1, -1, NoUnitP, what.Ident.c_str(), -1);
CommandUpgradeTo(unit, what, flush);
} else {
NetworkSendCommand(MessageCommandUpgrade, unit, 0, 0, NoUnitP, &what, flush);
}
}
示例9: SendCommandResource
/**
** Send command: Unit harvest resources
**
** @param unit pointer to unit.
** @param dest pointer to destination (oil-platform,gold mine).
** @param flush Flag flush all pending commands.
*/
void SendCommandResource(CUnit &unit, CUnit &dest, int flush)
{
if (!IsNetworkGame()) {
CommandLog("resource", &unit, flush, -1, -1, &dest, NULL, -1);
CommandResource(unit, dest, flush);
} else {
NetworkSendCommand(MessageCommandResource, unit, 0, 0, &dest, 0, flush);
}
}
示例10: SendCommandUnload
/**
** Send command: Unit unload unit.
**
** @param unit pointer to unit.
** @param pos map tile position of unload.
** @param what Passagier to be unloaded.
** @param flush Flag flush all pending commands.
*/
void SendCommandUnload(CUnit &unit, const Vec2i &pos, CUnit *what, int flush)
{
if (!IsNetworkGame()) {
CommandLog("unload", &unit, flush, pos.x, pos.y, what, NULL, -1);
CommandUnload(unit, pos, what, flush);
} else {
NetworkSendCommand(MessageCommandUnload, unit, pos.x, pos.y, what, 0, flush);
}
}
示例11: SendCommandPatrol
/**
** Send command: Unit patrol between current and position.
**
** @param unit pointer to unit.
** @param pos map tile position to patrol between.
** @param flush Flag flush all pending commands.
*/
void SendCommandPatrol(CUnit &unit, const Vec2i &pos, int flush)
{
if (!IsNetworkGame()) {
CommandLog("patrol", &unit, flush, pos.x, pos.y, NoUnitP, NULL, -1);
CommandPatrolUnit(unit, pos, flush);
} else {
NetworkSendCommand(MessageCommandPatrol, unit, pos.x, pos.y, NoUnitP, 0, flush);
}
}
示例12: SendCommandAttackGround
/**
** Send command: Unit attack ground.
**
** @param unit pointer to unit.
** @param pos map tile position to fire on.
** @param flush Flag flush all pending commands.
*/
void SendCommandAttackGround(CUnit &unit, const Vec2i &pos, int flush)
{
if (!IsNetworkGame()) {
CommandLog("attack-ground", &unit, flush, pos.x, pos.y, NoUnitP, NULL, -1);
CommandAttackGround(unit, pos, flush);
} else {
NetworkSendCommand(MessageCommandGround, unit, pos.x, pos.y, NoUnitP, 0, flush);
}
}
示例13: SendCommandAttack
/**
** Send command: Unit attack unit or at position.
**
** @param unit pointer to unit.
** @param pos map tile position to attack.
** @param attack or !=NoUnitP unit to be attacked.
** @param flush Flag flush all pending commands.
*/
void SendCommandAttack(CUnit &unit, const Vec2i &pos, CUnit *attack, int flush)
{
if (!IsNetworkGame()) {
CommandLog("attack", &unit, flush, pos.x, pos.y, attack, NULL, -1);
CommandAttack(unit, pos, attack, flush);
} else {
NetworkSendCommand(MessageCommandAttack, unit, pos.x, pos.y, attack, 0, flush);
}
}
示例14: SendCommandRepair
/**
** Send command: Unit repair.
**
** @param unit Pointer to unit.
** @param pos map tile position to repair.
** @param dest Unit to be repaired.
** @param flush Flag flush all pending commands.
*/
void SendCommandRepair(CUnit &unit, const Vec2i &pos, CUnit *dest, int flush)
{
if (!IsNetworkGame()) {
CommandLog("repair", &unit, flush, pos.x, pos.y, dest, NULL, -1);
CommandRepair(unit, pos, dest, flush);
} else {
NetworkSendCommand(MessageCommandRepair, unit, pos.x, pos.y, dest, 0, flush);
}
}
示例15: SendCommandPickUp
/**
** Send command: Pick up item.
**
** @param unit pointer to unit.
** @param dest pick up this item.
** @param flush Flag flush all pending commands.
*/
void SendCommandPickUp(CUnit &unit, CUnit &dest, int flush)
{
if (!IsNetworkGame()) {
CommandLog("pick-up", &unit, flush, -1, -1, &dest, NULL, -1);
CommandPickUp(unit, dest, flush);
} else {
NetworkSendCommand(MessageCommandPickUp, unit, 0, 0, &dest, 0, flush);
}
}