PlayerSystem.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. namespace ET.Server
  2. {
  3. [FriendOf(typeof(Player))]
  4. public static class PlayerSystem
  5. {
  6. [ObjectSystem]
  7. public class PlayerAwakeSystem : AwakeSystem<Player, string>
  8. {
  9. protected override void Awake(Player self, string a)
  10. {
  11. Log.Info($"创建玩家实体...");
  12. self.Account = a;
  13. self.IsOnline = true;
  14. self.LoginTime = TimeHelper.ServerNow();
  15. // 测试数据,后面需要改成正式版
  16. self.IsInRoom = false;
  17. // 添加本地玩家数据
  18. self.DomainScene().GetComponent<GamePlayerComponent>().Add(self);
  19. }
  20. }
  21. [ObjectSystem]
  22. public class PlayerDestroySystem : DestroySystem<Player>
  23. {
  24. protected override void Destroy(Player self)
  25. {
  26. Log.Info($"销毁玩家实体...");
  27. self.IsOnline = false;
  28. self.LogoutTime = TimeHelper.ServerNow();
  29. // 移除本地玩家数据
  30. self.DomainScene().GetComponent<GamePlayerComponent>()?.Remove(self.Id);
  31. }
  32. }
  33. }
  34. }