// ====================================================================== // // GuildController.cpp // // Copyright 2002 Sony Online Entertainment // // ====================================================================== #include "serverGame/FirstServerGame.h" #include "serverGame/GuildController.h" #include "serverGame/GuildObject.h" #include "sharedFoundation/GameControllerMessage.h" #include "sharedNetworkMessages/MessageQueueGenericValueType.h" // ====================================================================== GuildController::GuildController(GuildObject *newOwner) : UniverseController(newOwner) { } // ---------------------------------------------------------------------- GuildController::~GuildController() { } // ---------------------------------------------------------------------- void GuildController::handleMessage(const int message, const float value, const MessageQueue::Data* const data, const uint32 flags) { GuildObject *owner = dynamic_cast(getOwner()); NOT_NULL(owner); switch (message) { case CM_guildCreate: { MessageQueueGenericValueType > > const *msg = safe_cast > > const *>(data); owner->createGuild(msg->getValue().second.first, msg->getValue().second.second, msg->getValue().first); } break; case CM_guildDisband: { MessageQueueGenericValueType const *msg = safe_cast const *>(data); owner->disbandGuild(msg->getValue()); } break; case CM_guildRemoveMember: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->removeGuildMember(msg->getValue().first, msg->getValue().second); } break; case CM_guildAddCreatorMember: { MessageQueueGenericValueType, std::pair > > > const *msg = safe_cast, std::pair > > > const *>(data); owner->addGuildCreatorMember(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second.first, msg->getValue().second.second.first, msg->getValue().second.second.second); } break; case CM_guildAddSponsorMember: { MessageQueueGenericValueType, std::pair > > > const *msg = safe_cast, std::pair > > > const *>(data); owner->addGuildSponsorMember(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second.first, msg->getValue().second.second.first, msg->getValue().second.second.second); } break; case CM_guildSetMemberPermission: { MessageQueueGenericValueType, NetworkId> > const *msg = safe_cast, NetworkId> > const *>(data); owner->setGuildMemberPermission(msg->getValue().first.first, msg->getValue().second, msg->getValue().first.second); } break; case CM_guildSetMemberTitle: { MessageQueueGenericValueType > > const *msg = safe_cast > > const *>(data); owner->setGuildMemberTitle(msg->getValue().second.second, msg->getValue().second.first, msg->getValue().first); } break; case CM_guildSetMemberAllegiance: { MessageQueueGenericValueType, NetworkId> > const *msg = safe_cast, NetworkId> > const *>(data); owner->setGuildMemberAllegiance(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second); } break; case CM_guildSetMemberPermissionAndAllegiance: { MessageQueueGenericValueType, std::pair > > const *msg = safe_cast, std::pair > > const *>(data); owner->setGuildMemberPermissionAndAllegiance(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second.first, msg->getValue().second.second); } break; case CM_guildSetMemberNameAndPermission: { MessageQueueGenericValueType, std::pair > > const *msg = safe_cast, std::pair > > const *>(data); owner->setGuildMemberNameAndPermision(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second.first, msg->getValue().second.second); } break; case CM_guildSetMemberProfessionInfo: { MessageQueueGenericValueType, std::pair > > const *msg = safe_cast, std::pair > > const *>(data); owner->setGuildMemberProfessionInfo(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second.first, msg->getValue().second.second); } break; case CM_guildAddMemberRank: { MessageQueueGenericValueType > > const *msg = safe_cast > > const *>(data); owner->addGuildMemberRank(msg->getValue().second.second, msg->getValue().second.first, msg->getValue().first); } break; case CM_guildRemoveMemberRank: { MessageQueueGenericValueType > > const *msg = safe_cast > > const *>(data); owner->removeGuildMemberRank(msg->getValue().second.second, msg->getValue().second.first, msg->getValue().first); } break; case CM_guildSetLeader: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->setGuildLeader(msg->getValue().first, msg->getValue().second); } break; case CM_guildSetGuildElectionEndTime: { MessageQueueGenericValueType, int> > const *msg = safe_cast, int> > const *>(data); owner->setGuildElectionEndTime(msg->getValue().second, msg->getValue().first.first, msg->getValue().first.second); } break; case CM_guildSetGuildFaction: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->setGuildFaction(msg->getValue().first, static_cast(msg->getValue().second)); } break; case CM_guildSetGuildGcwDefenderRegion: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->setGuildGcwDefenderRegion(msg->getValue().first, msg->getValue().second); } break; case CM_guildRemoveEnemy: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->removeGuildEnemy(msg->getValue().first, msg->getValue().second); } break; case CM_guildSetEnemy: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->setGuildEnemy(msg->getValue().first, msg->getValue().second); } break; case CM_guildUpdateGuildWarKillTrackingData: { MessageQueueGenericValueType, std::pair > > const *msg = safe_cast, std::pair > > const *>(data); owner->modifyGuildWarKillTracking(msg->getValue().first.first, msg->getValue().first.second, msg->getValue().second.first, msg->getValue().second.second); } break; case CM_guildSetName: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->setGuildName(msg->getValue().first, msg->getValue().second); } break; case CM_guildSetAbbrev: { MessageQueueGenericValueType > const *msg = safe_cast > const *>(data); owner->setGuildAbbrev(msg->getValue().first, msg->getValue().second); } break; default: UniverseController::handleMessage(message, value, data, flags); break; } } // ======================================================================