VRResourcesComponentSystem.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using KYFramework;
  2. namespace VRPlatform
  3. {
  4. public static class VRResourcesComponentSystem
  5. {
  6. public static void AddResource(this VRResourcesComponent self,VRResourceEntity resource)
  7. {
  8. // Add resource to list
  9. if (self.Resources.ContainsKey(resource.VRResourceId))
  10. {
  11. Log.Error($"Add resource error, resource [{resource.VRResourceId}] already exist!");
  12. return;
  13. }
  14. self.Resources.Add(resource.VRResourceId,resource);
  15. }
  16. public static void RemoveResource(this VRResourcesComponent self,string resourceId)
  17. {
  18. // Remove resource from list
  19. if (!self.Resources.ContainsKey(resourceId))
  20. {
  21. Log.Error($"Remove resource error, resource [{resourceId}] not exist!");
  22. return;
  23. }
  24. self.Resources.Remove(resourceId);
  25. }
  26. // 启动资源
  27. public static void RunResource(this VRResourcesComponent self,string resourceId)
  28. {
  29. // Run resource
  30. if (!self.Resources.ContainsKey(resourceId))
  31. {
  32. Log.Error($"Run resource error, resource [{resourceId}] not exist!");
  33. return;
  34. }
  35. var resource = self.Resources[resourceId];
  36. resource.Run();
  37. //Game.EventSystem.Publish(new RunResourceEvent(){Resource = resource});
  38. }
  39. public static void StopResource(this VRResourcesComponent self,string resourceId)
  40. {
  41. // Stop resource
  42. if (!self.Resources.ContainsKey(resourceId))
  43. {
  44. Log.Error($"Stop resource error, resource [{resourceId}] not exist!");
  45. return;
  46. }
  47. var resource = self.Resources[resourceId];
  48. resource.Stop();
  49. //Game.EventSystem.Publish(new StopResourceEvent(){Resource = resource});
  50. }
  51. }
  52. }