#include <src/Misc/Network.h>
List of all members.
Member Function Documentation
void AresNetEvent::Handlers::RaiseFirewallToggle |
( |
HouseClass * |
Source | ) |
[static] |
{
NetworkEvent * Event = new NetworkEvent();
Event->Kind = AresNetEvent::aev_FirewallToggle;
Event->HouseIndex = byte(Source->ArrayIndex);
Networking::AddEvent(Event);
delete Event;
}
void AresNetEvent::Handlers::RaiseTrenchRedirectClick |
( |
BuildingClass * |
Source, |
|
|
CellStruct * |
Target |
|
) |
| [static] |
{
NetworkEvent * Event = new NetworkEvent();
Event->Kind = AresNetEvent::aev_TrenchRedirectClick;
Event->HouseIndex = byte(Source->Owner->ArrayIndex);
byte *ExtraData = Event->ExtraData;
NetID SourceObject, TargetCoords;
TargetCoords.Pack(Target);
memcpy(ExtraData, &TargetCoords, sizeof(TargetCoords));
ExtraData += sizeof(TargetCoords);
SourceObject.Pack(Source);
memcpy(ExtraData, &SourceObject, sizeof(SourceObject));
ExtraData += sizeof(SourceObject);
Networking::AddEvent(Event);
delete Event;
}
void AresNetEvent::Handlers::RespondToFirewallToggle |
( |
NetworkEvent * |
Event | ) |
[static] |
void AresNetEvent::Handlers::RespondToTrenchRedirectClick |
( |
NetworkEvent * |
Event | ) |
[static] |
{
NetID *ID = reinterpret_cast<NetID *>(Event->ExtraData);
if(CellClass * pTargetCell = ID->UnpackCell()) {
++ID;
if(BuildingClass * pSourceBuilding = ID->UnpackBuilding()) {
BuildingExt::ExtData* sourceBuildingExt = BuildingExt::ExtMap.Find(pSourceBuilding);
BuildingClass* targetBuilding = pTargetCell->GetBuilding();
sourceBuildingExt->doTraverseTo(targetBuilding);
}
}
}
The documentation for this class was generated from the following files: