BGWindowPane.cs 2.3 KB

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