UnitComponent.cs 606 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System.Collections.Generic;
  2. namespace Model
  3. {
  4. public class UnitComponent: Component
  5. {
  6. private readonly Dictionary<long, Unit> idUnits = new Dictionary<long, Unit>();
  7. public void Add(Unit unit)
  8. {
  9. this.idUnits.Add(unit.Id, unit);
  10. }
  11. public Unit Get(long id)
  12. {
  13. this.idUnits.TryGetValue(id, out Unit unit);
  14. return unit;
  15. }
  16. public void Remove(long id)
  17. {
  18. this.idUnits.Remove(id);
  19. }
  20. public override void Dispose()
  21. {
  22. if (this.Id == 0)
  23. {
  24. return;
  25. }
  26. base.Dispose();
  27. foreach (Unit unit in this.idUnits.Values)
  28. {
  29. unit.Dispose();
  30. }
  31. }
  32. }
  33. }