void City::onObjectEnter(Object* object) { PlayerObject* player = (PlayerObject*)object; //player->setCityRegionId(this->getId()); addVisitor(object); DLOG(INFO) << player->getFirstName().getAnsi() << " entered " << mCityName << " (" << mVisitingPlayers.size() << " players in city)"; }
void CampRegion::onObjectEnter(Object* object) { if (object->getType() != ObjType_Player) { return; } PlayerObject* visitor = dynamic_cast<PlayerObject*>(object); if (!visitor) { return; } if (!addVisitor(visitor)) { return; } auto it = std::find_if(links.begin(), links.end(), [=] (campLink* link) { return link->objectID == visitor->getId(); }); if (it != links.end()) { campLink* temp = new campLink; temp->objectID = visitor->getId(); temp->lastSeenTime = gWorldManager->GetCurrentGlobalTick(); temp->tickCount = 0; links.push_back(temp); } PlayerObject* owner = dynamic_cast<PlayerObject*>(gWorldManager->getObjectById(mOwnerId)); if (owner && (owner->getId() != visitor->getId())) { std::string text = "You have entered " + this->getCampOwnerName() + "'s camp."; gMessageLib->SendSystemMessage(std::wstring(text.begin(), text.end()).c_str(), visitor); } else { //ensure it's not time to destroy the camp mAbandoned = false; } }