UnitFactory.cs 611 B

12345678910111213141516171819202122
  1. using UnityEngine;
  2. namespace ET
  3. {
  4. public static class UnitFactory
  5. {
  6. public static Unit Create(Entity domain, long id)
  7. {
  8. Unit unit = EntityFactory.CreateWithId<Unit>(domain, id);
  9. unit.AddComponent<MoveComponent>();
  10. unit.AddComponent<TurnComponent>();
  11. unit.AddComponent<UnitPathComponent>();
  12. Game.EventSystem.Publish(new EventType.AfterUnitCreate() {Unit = unit});
  13. UnitComponent unitComponent = Game.Scene.GetComponent<UnitComponent>();
  14. unitComponent.Add(unit);
  15. return unit;
  16. }
  17. }
  18. }