mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 22:57:45 +00:00
Some minor refactorings I came across while working on events.
This commit is contained in:
parent
d34bddc6ae
commit
c647cc2511
6 changed files with 23 additions and 14 deletions
|
@ -171,6 +171,8 @@ void PartyMgr::onDisband( Entity::Player& disbandingPlayer )
|
||||||
|
|
||||||
void PartyMgr::onMoveZone( Sapphire::Entity::Player &movingPlayer )
|
void PartyMgr::onMoveZone( Sapphire::Entity::Player &movingPlayer )
|
||||||
{
|
{
|
||||||
|
if( movingPlayer.getPartyId() == 0 )
|
||||||
|
return;
|
||||||
auto party = getParty( movingPlayer.getPartyId() );
|
auto party = getParty( movingPlayer.getPartyId() );
|
||||||
assert( party );
|
assert( party );
|
||||||
sendPartyUpdate( *party );
|
sendPartyUpdate( *party );
|
||||||
|
@ -178,6 +180,9 @@ void PartyMgr::onMoveZone( Sapphire::Entity::Player &movingPlayer )
|
||||||
|
|
||||||
void PartyMgr::onMemberDisconnect( Entity::Player& disconnectingPlayer )
|
void PartyMgr::onMemberDisconnect( Entity::Player& disconnectingPlayer )
|
||||||
{
|
{
|
||||||
|
if( disconnectingPlayer.getPartyId() == 0 )
|
||||||
|
return;
|
||||||
|
|
||||||
auto& server = Common::Service< World::WorldServer >::ref();
|
auto& server = Common::Service< World::WorldServer >::ref();
|
||||||
auto party = getParty( disconnectingPlayer.getPartyId() );
|
auto party = getParty( disconnectingPlayer.getPartyId() );
|
||||||
assert( party );
|
assert( party );
|
||||||
|
|
|
@ -337,7 +337,7 @@ void PlayerMgr::onClassChanged( Entity::Player& player )
|
||||||
onPlayerHpMpTpChanged( player );
|
onPlayerHpMpTpChanged( player );
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerMgr::onLogin( Entity::Player& player )
|
void PlayerMgr::sendLoginMessage( Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto motd = server().getConfig().motd;
|
auto motd = server().getConfig().motd;
|
||||||
|
|
||||||
|
@ -349,15 +349,16 @@ void PlayerMgr::onLogin( Entity::Player& player )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PlayerMgr::onLogin( Entity::Player &player )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void PlayerMgr::onLogout( Entity::Player &player )
|
void PlayerMgr::onLogout( Entity::Player &player )
|
||||||
{
|
{
|
||||||
auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref();
|
auto& partyMgr = Common::Service< World::Manager::PartyMgr >::ref();
|
||||||
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
|
||||||
// send updates to mgrs
|
// send updates to mgrs
|
||||||
if( player.getPartyId() != 0 )
|
|
||||||
partyMgr.onMemberDisconnect( player );
|
partyMgr.onMemberDisconnect( player );
|
||||||
|
|
||||||
fcMgr.onFcLogout( player.getCharacterId() );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerMgr::onDeath( Entity::Player& player )
|
void PlayerMgr::onDeath( Entity::Player& player )
|
||||||
|
@ -457,11 +458,6 @@ void PlayerMgr::onMoveZone( Sapphire::Entity::Player& player )
|
||||||
onGrandCompanyChanged( player );
|
onGrandCompanyChanged( player );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( player.getPartyId() != 0 )
|
|
||||||
{
|
|
||||||
partyMgr.onMoveZone( player );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayerMgr::onUpdate( Entity::Player& player, uint64_t tickCount )
|
void PlayerMgr::onUpdate( Entity::Player& player, uint64_t tickCount )
|
||||||
|
|
|
@ -39,6 +39,8 @@ namespace Sapphire::World::Manager
|
||||||
|
|
||||||
void onHateListChanged( Sapphire::Entity::Player& player );
|
void onHateListChanged( Sapphire::Entity::Player& player );
|
||||||
|
|
||||||
|
void sendLoginMessage( Sapphire::Entity::Player& player );
|
||||||
|
|
||||||
void onLogin( Sapphire::Entity::Player& player );
|
void onLogin( Sapphire::Entity::Player& player );
|
||||||
void onLogout( Sapphire::Entity::Player& player );
|
void onLogout( Sapphire::Entity::Player& player );
|
||||||
void onDeath( Sapphire::Entity::Player& player );
|
void onDeath( Sapphire::Entity::Player& player );
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include "HousingMgr.h"
|
#include "HousingMgr.h"
|
||||||
#include "WarpMgr.h"
|
#include "WarpMgr.h"
|
||||||
#include "PlayerMgr.h"
|
#include "PlayerMgr.h"
|
||||||
|
#include "PartyMgr.h"
|
||||||
#include "Linkshell/Linkshell.h"
|
#include "Linkshell/Linkshell.h"
|
||||||
|
|
||||||
#include "Territory/Land.h"
|
#include "Territory/Land.h"
|
||||||
|
@ -589,6 +590,7 @@ TerritoryMgr::InstanceIdList TerritoryMgr::getInstanceContentIdList( uint16_t in
|
||||||
bool TerritoryMgr::movePlayer( Sapphire::Territory& teri, Entity::Player& player )
|
bool TerritoryMgr::movePlayer( Sapphire::Territory& teri, Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto& playerMgr = Common::Service< Manager::PlayerMgr >::ref();
|
auto& playerMgr = Common::Service< Manager::PlayerMgr >::ref();
|
||||||
|
auto& partyMgr = Common::Service< Manager::PartyMgr >::ref();
|
||||||
|
|
||||||
auto pPrevZone = getTerritoryByGuId( player.getTerritoryId() );
|
auto pPrevZone = getTerritoryByGuId( player.getTerritoryId() );
|
||||||
|
|
||||||
|
@ -614,6 +616,7 @@ bool TerritoryMgr::movePlayer( Sapphire::Territory& teri, Entity::Player& player
|
||||||
|
|
||||||
teri.onBeforePlayerZoneIn( player );
|
teri.onBeforePlayerZoneIn( player );
|
||||||
playerMgr.onMoveZone( player );
|
playerMgr.onMoveZone( player );
|
||||||
|
partyMgr.onMoveZone( player );
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -347,9 +347,11 @@ void Sapphire::Network::GameConnection::loginHandler( const Packets::FFXIVARR_PA
|
||||||
const auto packet = ZoneChannelPacket< Client::FFXIVIpcLoginHandler >( inPacket );
|
const auto packet = ZoneChannelPacket< Client::FFXIVIpcLoginHandler >( inPacket );
|
||||||
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
auto& teriMgr = Common::Service< World::Manager::TerritoryMgr >::ref();
|
||||||
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
||||||
|
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
|
||||||
player.setIsLogin( true );
|
player.setIsLogin( true );
|
||||||
player.setConnected( true );
|
player.setConnected( true );
|
||||||
teriMgr.joinWorld( player );
|
teriMgr.joinWorld( player );
|
||||||
|
playerMgr.onLogin( player );
|
||||||
fcMgr.onFcLogin( player.getCharacterId() );
|
fcMgr.onFcLogin( player.getCharacterId() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -382,8 +384,7 @@ void Sapphire::Network::GameConnection::setLanguageHandler( const Packets::FFXIV
|
||||||
// if this is a login event
|
// if this is a login event
|
||||||
if( player.isLogin() )
|
if( player.isLogin() )
|
||||||
{
|
{
|
||||||
// fire the onLogin Event
|
playerMgr.sendLoginMessage( player );
|
||||||
playerMgr.onLogin( player );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// spawn the player for himself
|
// spawn the player for himself
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "Actor/Player.h"
|
#include "Actor/Player.h"
|
||||||
#include "WorldServer.h"
|
#include "WorldServer.h"
|
||||||
#include "Manager/PlayerMgr.h"
|
#include "Manager/PlayerMgr.h"
|
||||||
|
#include "Manager/FreeCompanyMgr.h"
|
||||||
|
|
||||||
#include "Session.h"
|
#include "Session.h"
|
||||||
|
|
||||||
|
@ -78,8 +79,9 @@ void Sapphire::World::Session::close()
|
||||||
if( m_pPlayer )
|
if( m_pPlayer )
|
||||||
{
|
{
|
||||||
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
|
auto& playerMgr = Common::Service< World::Manager::PlayerMgr >::ref();
|
||||||
|
auto& fcMgr = Common::Service< World::Manager::FreeCompanyMgr >::ref();
|
||||||
playerMgr.onLogout( *m_pPlayer );
|
playerMgr.onLogout( *m_pPlayer );
|
||||||
|
fcMgr.onFcLogout( m_pPlayer->getCharacterId() );
|
||||||
m_pPlayer->unload();
|
m_pPlayer->unload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue