M2C_CreateUnitsHandler.cs 639 B

1234567891011121314151617181920212223
  1. namespace ET.Client
  2. {
  3. [MessageHandler(SceneType.Client)]
  4. public class M2C_CreateUnitsHandler : AMHandler<M2C_CreateUnits>
  5. {
  6. protected override async ETTask Run(Session session, M2C_CreateUnits message)
  7. {
  8. Scene currentScene = session.DomainScene().CurrentScene();
  9. UnitComponent unitComponent = currentScene.GetComponent<UnitComponent>();
  10. foreach (UnitInfo unitInfo in message.Units)
  11. {
  12. if (unitComponent.Get(unitInfo.UnitId) != null)
  13. {
  14. Log.Debug($"ignore exist unit: {unitInfo.UnitId}");
  15. continue;
  16. }
  17. UnitFactory.Create(currentScene, unitInfo);
  18. }
  19. await ETTask.CompletedTask;
  20. }
  21. }
  22. }