World.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.IO;
  2. using System.Reflection;
  3. using Common.Base;
  4. namespace Model
  5. {
  6. public class World : GameObject<World>
  7. {
  8. private static readonly World instance = new World();
  9. public Assembly Assembly { get; set; }
  10. public static World Instance
  11. {
  12. get
  13. {
  14. return instance;
  15. }
  16. }
  17. private World()
  18. {
  19. this.Assembly = Assembly.Load(File.ReadAllBytes(@"./Controller.dll"));
  20. }
  21. public void ReLoad()
  22. {
  23. this.Assembly = Assembly.Load(File.ReadAllBytes(@"./Controller.dll"));
  24. foreach (Component<World> component in this.GetComponents())
  25. {
  26. IAssemblyLoader assemblyLoader = component as IAssemblyLoader;
  27. if (assemblyLoader == null)
  28. {
  29. continue;
  30. }
  31. assemblyLoader.Load(this.Assembly);
  32. }
  33. }
  34. }
  35. }