using Fantasy.Entitas.Interface; namespace NB.Gate; public sealed class PlayerFlagComponentDestroySystem : DestroySystem { protected override void Destroy(PlayerFlagComponent self) { if (self.AccountID != 0) { // 执行下线过程、并且要求在5分钟后完成缓存清理。也就是5分钟后会保存数据到数据库。 // 由于5分钟太长了、咱们测试的时候,不方便测试,也可以把这个时间改短一些,比如10秒。 PlayerHelper.Disconnect(self.Scene, self.AccountID, 1000 * 60 * 5).Coroutine(); self.AccountID = 0; } self.Account = null; } }