Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

StandaloneSubsystem.cs 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System;
  2. using UnityEngine.AdaptivePerformance.Provider;
  3. using UnityEngine.SubsystemsImplementation;
  4. namespace UnityEngine.AdaptivePerformance.Tests.Standalone
  5. {
  6. public class StandaloneSubsystem : AdaptivePerformanceSubsystem
  7. {
  8. public event Action startCalled;
  9. public event Action stopCalled;
  10. public event Action destroyCalled;
  11. public StandaloneSubsystem() { }
  12. protected override void OnStart()
  13. {
  14. base.OnStart();
  15. if (startCalled != null)
  16. startCalled.Invoke();
  17. }
  18. protected override void OnStop()
  19. {
  20. base.OnStop();
  21. if (stopCalled != null)
  22. stopCalled.Invoke();
  23. }
  24. protected override void OnDestroy()
  25. {
  26. base.OnDestroy();
  27. if (destroyCalled != null)
  28. destroyCalled.Invoke();
  29. }
  30. public override IApplicationLifecycle ApplicationLifecycle => provider.ApplicationLifecycle;
  31. public override IDevicePerformanceLevelControl PerformanceLevelControl => provider.PerformanceLevelControl;
  32. public override Version Version => provider.Version;
  33. public override Feature Capabilities { get => provider.Capabilities; protected set => provider.Capabilities = value; }
  34. public override string Stats => provider.Stats;
  35. public override bool Initialized { get => provider.Initialized; protected set => provider.Initialized = value; }
  36. public override PerformanceDataRecord Update()
  37. {
  38. return provider.Update();
  39. }
  40. public class StandaloneProvider : APProvider, IApplicationLifecycle
  41. {
  42. override public IApplicationLifecycle ApplicationLifecycle { get { return this; } }
  43. override public IDevicePerformanceLevelControl PerformanceLevelControl { get { return null; } }
  44. public StandaloneProvider() { }
  45. public override void Start() {}
  46. public override void Stop() {}
  47. public override void Destroy() {}
  48. public override string Stats => $"";
  49. override public PerformanceDataRecord Update() { return new PerformanceDataRecord(); }
  50. public override Version Version
  51. {
  52. get
  53. {
  54. return new Version("5.0.0");
  55. }
  56. }
  57. public override Feature Capabilities { get; set; }
  58. public override bool Initialized { get; set; }
  59. public void ApplicationPause() { }
  60. public void ApplicationResume() { }
  61. }
  62. }
  63. }