No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SimulatorProviderLoader.cs 3.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using UnityEngine;
  2. using System.Collections.Generic;
  3. using UnityEngine.AdaptivePerformance;
  4. using UnityEditor.AdaptivePerformance.Editor;
  5. using UnityEngine.AdaptivePerformance.Provider;
  6. namespace UnityEditor.AdaptivePerformance.Simulator.Editor
  7. {
  8. /// <summary>
  9. /// SimulatorProviderLoader implements the loader for the Adaptive Performance Device Simulator plugin.
  10. /// </summary>
  11. [AdaptivePerformanceSupportedBuildTargetAttribute(BuildTargetGroup.Standalone)]
  12. public class SimulatorProviderLoader : AdaptivePerformanceLoaderHelper
  13. {
  14. static List<AdaptivePerformanceSubsystemDescriptor> s_SimulatorSubsystemDescriptors =
  15. new List<AdaptivePerformanceSubsystemDescriptor>();
  16. /// <summary>Returns the currently active Simulator Subsystem instance, if any.</summary>
  17. public SimulatorAdaptivePerformanceSubsystem simulatorSubsystem
  18. {
  19. get { return GetLoadedSubsystem<SimulatorAdaptivePerformanceSubsystem>(); }
  20. }
  21. /// <summary>
  22. /// Implementation of <see cref="AdaptivePerformanceLoader.GetDefaultSubsystem"/>
  23. /// </summary>
  24. /// <returns>The Simulator as currently loaded default subststem. Adaptive Performance always initializes the first subsystem and uses it as a default, because only one subsystem can be present at a given time. You can change subsystem order in the Adaptive Performance Provider Settings.</returns>
  25. public override ISubsystem GetDefaultSubsystem()
  26. {
  27. return simulatorSubsystem;
  28. }
  29. /// <summary>
  30. /// Implementation of <see cref="AdaptivePerformanceLoader.GetSettings"/>.
  31. /// </summary>
  32. /// <returns>Returns the Simulator settings.</returns>
  33. public override IAdaptivePerformanceSettings GetSettings()
  34. {
  35. return SimulatorProviderSettings.GetSettings();
  36. }
  37. /// <summary>Implementation of <see cref="AdaptivePerformanceLoader.Initialize"/>.</summary>
  38. /// <returns>True if successfully initialized the Simulator subsystem, false otherwise.</returns>
  39. public override bool Initialize()
  40. {
  41. CreateSubsystem<AdaptivePerformanceSubsystemDescriptor, SimulatorAdaptivePerformanceSubsystem>(s_SimulatorSubsystemDescriptors, "SimulatorAdaptivePerformanceSubsystem");
  42. if (simulatorSubsystem == null)
  43. {
  44. Debug.LogError("Unable to start the Simulator subsystem.");
  45. }
  46. return simulatorSubsystem != null;
  47. }
  48. /// <summary>Implementation of <see cref="AdaptivePerformanceLoader.Start"/>.</summary>
  49. /// <returns>True if successfully started the Simulator subsystem, false otherwise.</returns>
  50. public override bool Start()
  51. {
  52. StartSubsystem<SimulatorAdaptivePerformanceSubsystem>();
  53. return true;
  54. }
  55. /// <summary>Implementation of <see cref="AdaptivePerformanceLoader.Stop"/>.</summary>
  56. /// <returns>True if successfully stopped the Simulator subsystem, false otherwise</returns>
  57. public override bool Stop()
  58. {
  59. StopSubsystem<SimulatorAdaptivePerformanceSubsystem>();
  60. return true;
  61. }
  62. /// <summary>Implementation of <see cref="AdaptivePerformanceLoader.Deinitialize"/>.</summary>
  63. /// <returns>True if successfully deinitialized the Simulator subsystem, false otherwise.</returns>
  64. public override bool Deinitialize()
  65. {
  66. DestroySubsystem<SimulatorAdaptivePerformanceSubsystem>();
  67. return true;
  68. }
  69. }
  70. }