BG2WindowPane.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. namespace COM3D2.MeidoPhotoStudio.Plugin
  2. {
  3. internal class BG2WindowPane : BaseWindowPane
  4. {
  5. private EnvironmentManager environmentManager;
  6. private MeidoManager meidoManager;
  7. private PropsPane propsPane;
  8. private AttachPropPane attachPropPane;
  9. private MyRoomPropsPane myRoomPropsPane;
  10. private ModPropsPane modPropsPane;
  11. private SelectionGrid propTabs;
  12. private BasePane currentPropsPane;
  13. public BG2WindowPane(MeidoManager meidoManager, EnvironmentManager environmentManager)
  14. {
  15. this.environmentManager = environmentManager;
  16. this.meidoManager = meidoManager;
  17. PropManager propManager = this.environmentManager.PropManager;
  18. this.propsPane = new PropsPane(propManager);
  19. this.myRoomPropsPane = new MyRoomPropsPane(propManager);
  20. this.modPropsPane = new ModPropsPane(propManager);
  21. this.attachPropPane = new AttachPropPane(this.meidoManager, propManager);
  22. this.Panes.Add(propsPane);
  23. this.Panes.Add(myRoomPropsPane);
  24. this.Panes.Add(modPropsPane);
  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. }