3030// ==========================================================================================
3131
3232
33-
3433using GameFrameX . Apps . Common . Session ;
3534using GameFrameX . Apps . Player . Player . Component ;
3635using GameFrameX . Apps . Player . Player . Entity ;
36+ using GameFrameX . Hotfix . Logic . DiscoveryCenter ;
3737using GameFrameX . Hotfix . Logic . Server ;
38+ using GameFrameX . Proto . BuiltIn ;
3839
3940namespace GameFrameX . Hotfix . Logic . Player . Login ;
4041
@@ -45,6 +46,15 @@ public async Task OnLogout()
4546 //移除在线玩家
4647 var serverComp = await ActorManager . GetComponentAgent < ServerComponentAgent > ( ) ;
4748 await serverComp . RemoveOnlineRole ( ActorId ) ;
49+
50+ var reqRegisterPlayer = new ReqDiscoverCenterPlayerOffline
51+ {
52+ PlayerId = ActorId ,
53+ ServerId = GlobalSettings . CurrentSetting . ServerId ,
54+ ServerInstanceId = GlobalSettings . CurrentSetting . ServerInstanceId ,
55+ } ;
56+ var discoveryCenterComponentAgent = await ActorManager . GetComponentAgent < DiscoveryCenterComponentAgent > ( ) ;
57+ discoveryCenterComponentAgent . SendToDiscoveryCenter ( reqRegisterPlayer ) ;
4858 //下线后会被自动回收
4959 SetAutoRecycle ( true ) ;
5060 QuartzTimer . Remove ( ScheduleIdSet ) ;
@@ -85,5 +95,14 @@ public async Task OnPlayerLogin(INetWorkChannel workChannel, ReqPlayerLogin reqL
8595 //加入在线玩家
8696 var serverComp = await ActorManager . GetComponentAgent < ServerComponentAgent > ( ) ;
8797 await serverComp . AddOnlineRole ( ActorId ) ;
98+
99+ var reqRegisterPlayer = new ReqDiscoverCenterPlayerOnline ( )
100+ {
101+ PlayerId = ActorId ,
102+ ServerId = GlobalSettings . CurrentSetting . ServerId ,
103+ ServerInstanceId = GlobalSettings . CurrentSetting . ServerInstanceId ,
104+ } ;
105+ var discoveryCenterComponentAgent = await ActorManager . GetComponentAgent < DiscoveryCenterComponentAgent > ( ) ;
106+ discoveryCenterComponentAgent . SendToDiscoveryCenter ( reqRegisterPlayer ) ;
88107 }
89108}
0 commit comments