BG2WindowPane.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace COM3D2.MeidoPhotoStudio.Plugin
  5. {
  6. internal class BG2WindowPane : BaseWindowPane
  7. {
  8. private EnvironmentManager environmentManager;
  9. private MeidoManager meidoManager;
  10. private PropsPane propsPane;
  11. private AttachPropPane attachPropPane;
  12. private MyRoomPropsPane myRoomPropsPane;
  13. private SelectionGrid propTabs;
  14. private BasePane currentPropsPane;
  15. public BG2WindowPane(MeidoManager meidoManager, EnvironmentManager environmentManager)
  16. {
  17. this.environmentManager = environmentManager;
  18. this.meidoManager = meidoManager;
  19. PropManager propManager = this.environmentManager.PropManager;
  20. this.propsPane = new PropsPane(propManager);
  21. this.myRoomPropsPane = new MyRoomPropsPane(propManager);
  22. this.attachPropPane = new AttachPropPane(this.meidoManager, propManager);
  23. this.Panes.Add(propsPane);
  24. this.Panes.Add(myRoomPropsPane);
  25. this.propTabs = new SelectionGrid(Translation.GetArray("propTabs", new[] { "Props", "MyRoom", "Mod" }));
  26. this.propTabs.ControlEvent += (s, a) =>
  27. {
  28. currentPropsPane = this.Panes[this.propTabs.SelectedItemIndex];
  29. };
  30. this.currentPropsPane = this.Panes[0];
  31. }
  32. public override void Draw()
  33. {
  34. this.propTabs.Draw();
  35. MiscGUI.WhiteLine();
  36. this.currentPropsPane.Draw();
  37. if (this.propTabs.SelectedItemIndex == 0) this.attachPropPane.Draw();
  38. }
  39. public override void UpdatePanes()
  40. {
  41. if (ActiveWindow)
  42. {
  43. this.propsPane.UpdatePane();
  44. this.attachPropPane.UpdatePane();
  45. }
  46. }
  47. }
  48. }