BG2WindowPane.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 ModPropsPane modPropsPane;
  14. private SelectionGrid propTabs;
  15. private BasePane currentPropsPane;
  16. public BG2WindowPane(MeidoManager meidoManager, EnvironmentManager environmentManager)
  17. {
  18. this.environmentManager = environmentManager;
  19. this.meidoManager = meidoManager;
  20. PropManager propManager = this.environmentManager.PropManager;
  21. this.propsPane = new PropsPane(propManager);
  22. this.myRoomPropsPane = new MyRoomPropsPane(propManager);
  23. this.modPropsPane = new ModPropsPane(propManager);
  24. this.attachPropPane = new AttachPropPane(this.meidoManager, propManager);
  25. this.Panes.Add(propsPane);
  26. this.Panes.Add(myRoomPropsPane);
  27. this.Panes.Add(modPropsPane);
  28. this.propTabs = new SelectionGrid(Translation.GetArray("propTabs", new[] { "Props", "MyRoom", "Mod" }));
  29. this.propTabs.ControlEvent += (s, a) =>
  30. {
  31. currentPropsPane = this.Panes[this.propTabs.SelectedItemIndex];
  32. };
  33. this.currentPropsPane = this.Panes[0];
  34. }
  35. public override void Draw()
  36. {
  37. this.propTabs.Draw();
  38. MiscGUI.WhiteLine();
  39. this.currentPropsPane.Draw();
  40. if (this.propTabs.SelectedItemIndex == 0) this.attachPropPane.Draw();
  41. }
  42. public override void UpdatePanes()
  43. {
  44. if (ActiveWindow)
  45. {
  46. this.propsPane.UpdatePane();
  47. this.attachPropPane.UpdatePane();
  48. }
  49. }
  50. }
  51. }