BGWindowPane.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using UnityEngine;
  2. namespace MeidoPhotoStudio.Plugin;
  3. public class BGWindowPane : BaseMainWindowPane
  4. {
  5. private readonly BackgroundSelectorPane backgroundSelectorPane;
  6. private readonly CameraPane cameraPane;
  7. private readonly LightsPane lightsPane;
  8. private readonly EffectsPane effectsPane;
  9. private readonly DragPointPane dragPointPane;
  10. private readonly OtherEffectsPane otherEffectsPane;
  11. private readonly Button sceneManagerButton;
  12. public BGWindowPane(
  13. EnvironmentManager environmentManager,
  14. LightManager lightManager,
  15. EffectManager effectManager,
  16. SceneWindow sceneWindow,
  17. CameraManager cameraManager)
  18. {
  19. sceneManagerButton = new(Translation.Get("backgroundWindow", "manageScenesButton"));
  20. sceneManagerButton.ControlEvent += (_, _) =>
  21. sceneWindow.Visible = !sceneWindow.Visible;
  22. backgroundSelectorPane = AddPane(new BackgroundSelectorPane(environmentManager));
  23. cameraPane = AddPane(new CameraPane(cameraManager));
  24. dragPointPane = AddPane(new DragPointPane());
  25. lightsPane = AddPane(new LightsPane(lightManager));
  26. effectsPane = AddPane(new EffectsPane()
  27. {
  28. ["bloom"] = new BloomPane(effectManager),
  29. ["dof"] = new DepthOfFieldPane(effectManager),
  30. ["vignette"] = new VignettePane(effectManager),
  31. ["fog"] = new FogPane(effectManager),
  32. });
  33. otherEffectsPane = AddPane(new OtherEffectsPane(effectManager));
  34. }
  35. public override void Draw()
  36. {
  37. tabsPane.Draw();
  38. sceneManagerButton.Draw();
  39. backgroundSelectorPane.Draw();
  40. dragPointPane.Draw();
  41. scrollPos = GUILayout.BeginScrollView(scrollPos);
  42. cameraPane.Draw();
  43. lightsPane.Draw();
  44. effectsPane.Draw();
  45. otherEffectsPane.Draw();
  46. GUILayout.EndScrollView();
  47. }
  48. public override void UpdatePanes()
  49. {
  50. if (ActiveWindow)
  51. base.UpdatePanes();
  52. }
  53. protected override void ReloadTranslation() =>
  54. sceneManagerButton.Label = Translation.Get("backgroundWindow", "manageScenesButton");
  55. }