Added documentation and minor cosmetic changes.

This commit is contained in:
hiker 2015-12-16 18:31:03 +11:00
parent c9bf95079c
commit c222ba2ebd
3 changed files with 14 additions and 6 deletions

View File

@ -322,6 +322,9 @@ void ItemManager::checkItemHit(AbstractKart* kart)
collectedItem(*i, kart); collectedItem(*i, kart);
else if (NetworkConfig::get()->isServer()) else if (NetworkConfig::get()->isServer())
{ {
// Only the server side detects item being collected
// A client does the collection upon receiving the
// event from the server!
collectedItem(*i, kart); collectedItem(*i, kart);
NetworkWorld::getInstance()->collectedItem(*i, kart); NetworkWorld::getInstance()->collectedItem(*i, kart);
} }

View File

@ -66,6 +66,11 @@ bool NetworkWorld::isRaceOver()
} // isRaceOver } // isRaceOver
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
/** Called from the item manager on a server. It triggers a notification to
* all clients in the GameEventsProtocol.
* \param item The item that was collected.
* \param kart The kart that collected the item.
*/
void NetworkWorld::collectedItem(Item *item, AbstractKart *kart) void NetworkWorld::collectedItem(Item *item, AbstractKart *kart)
{ {
// this is only called in the server // this is only called in the server

View File

@ -53,15 +53,15 @@ bool GameEventsProtocol::notifyEvent(Event* event)
} }
uint32_t item_id = data.gui32(); uint32_t item_id = data.gui32();
uint8_t powerup_type = data.gui8(4); uint8_t powerup_type = data.gui8(4);
uint8_t kart_race_id = data.gui8(5); uint8_t player_id = data.gui8(5);
// now set the kart powerup // now set the kart powerup
AbstractKart* kart = World::getWorld()->getKart( AbstractKart* kart = World::getWorld()->getKart(
STKHost::get()->getGameSetup() STKHost::get()->getGameSetup()
->getProfile(kart_race_id)->getWorldKartID()); ->getProfile(player_id)->getWorldKartID());
ItemManager::get()->collectedItem( ItemManager::get()->collectedItem(
ItemManager::get()->getItem(item_id), ItemManager::get()->getItem(item_id),
kart, kart,
powerup_type); powerup_type);
Log::info("GameEventsProtocol", "Item %d picked by a player.", Log::info("GameEventsProtocol", "Item %d picked by a player.",
powerup_type); powerup_type);
} break; } break;