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.

SetBoostUnit.cs 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #if VISUAL_SCRIPTING_ENABLED
  2. using System;
  3. using Unity.VisualScripting;
  4. namespace UnityEngine.AdaptivePerformance.VisualScripting
  5. {
  6. [UnitShortTitle("Set Boost")]
  7. [UnitSubtitle("Set CPU and GPU Boost")]
  8. [UnitCategory("AdaptivePerformance/Performance")]
  9. public class SetBoostUnit : Unit
  10. {
  11. [DoNotSerialize]
  12. public ControlInput inputTrigger;
  13. [DoNotSerialize]
  14. public ControlOutput outputTrigger;
  15. [DoNotSerialize]
  16. public ValueInput cpuBoostInput;
  17. [DoNotSerialize]
  18. public ValueInput gpuBoostInput;
  19. protected override void Definition()
  20. {
  21. inputTrigger = ControlInput("inputTrigger", (flow) => {
  22. if (Application.isPlaying && Holder.Instance != null)
  23. {
  24. var pc = Holder.Instance.DevicePerformanceControl;
  25. var cpuInput = flow.GetValue<bool>(cpuBoostInput);
  26. var gpuInput = flow.GetValue<bool>(gpuBoostInput);
  27. if (cpuInput)
  28. pc.CpuPerformanceBoost = cpuInput;
  29. if (gpuInput)
  30. pc.GpuPerformanceBoost = gpuInput;
  31. }
  32. return outputTrigger;
  33. });
  34. outputTrigger = ControlOutput("outputTrigger");
  35. cpuBoostInput = ValueInput<bool>("CPU Boost", false);
  36. gpuBoostInput = ValueInput<bool>("GPU Boost", false);
  37. }
  38. }
  39. }
  40. #endif