|
@@ -5,6 +5,7 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
{
|
|
|
public class MessageWindow : BaseWindow
|
|
|
{
|
|
|
+ MessageWindowManager messageWindowManager;
|
|
|
TextField nameTextField;
|
|
|
Slider fontSizeSlider;
|
|
|
TextArea messageTextArea;
|
|
@@ -12,8 +13,9 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
private int fontSize = 25;
|
|
|
private bool showingMessage = false;
|
|
|
|
|
|
- public MessageWindow() : base()
|
|
|
+ public MessageWindow(MessageWindowManager messageWindowManager) : base()
|
|
|
{
|
|
|
+ this.messageWindowManager = messageWindowManager;
|
|
|
nameTextField = new TextField();
|
|
|
Controls.Add(nameTextField);
|
|
|
|
|
@@ -25,17 +27,15 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
Controls.Add(messageTextArea);
|
|
|
|
|
|
okButton = new Button("OK");
|
|
|
- okButton.ControlEvent += SetMessage;
|
|
|
+ okButton.ControlEvent += ShowMessage;
|
|
|
Controls.Add(okButton);
|
|
|
}
|
|
|
|
|
|
- public void SetVisibility()
|
|
|
+ public void ToggleVisibility()
|
|
|
{
|
|
|
if (showingMessage)
|
|
|
{
|
|
|
- GameObject messageGameObject = GameObject.Find("__GameMain__/SystemUI Root").transform.Find("MessageWindowPanel").gameObject;
|
|
|
- MessageWindowMgr messageWindowMgr = GameMain.Instance.ScriptMgr.adv_kag.MessageWindowMgr;
|
|
|
- messageWindowMgr.CloseMessageWindowPanel();
|
|
|
+ messageWindowManager.CloseMessagePanel();
|
|
|
showingMessage = false;
|
|
|
}
|
|
|
else
|
|
@@ -47,38 +47,14 @@ namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
private void ChangeFontSize(object sender, EventArgs args)
|
|
|
{
|
|
|
fontSize = (int)fontSizeSlider.Value;
|
|
|
-
|
|
|
- GameObject gameObject = GameObject.Find("__GameMain__/SystemUI Root").transform.Find("MessageWindowPanel").gameObject;
|
|
|
- UILabel uiLabel = UTY.GetChildObject(gameObject, "MessageViewer/MsgParent/Message", false).GetComponent<UILabel>();
|
|
|
- Utility.SetFieldValue<UILabel, int>(uiLabel, "mFontSize", fontSize);
|
|
|
+ messageWindowManager.SetFontSize(fontSize);
|
|
|
}
|
|
|
|
|
|
- private void SetMessage(object sender, EventArgs args)
|
|
|
+ private void ShowMessage(object sender, EventArgs args)
|
|
|
{
|
|
|
Visible = false;
|
|
|
showingMessage = true;
|
|
|
- GameObject messageGameObject = GameObject.Find("__GameMain__/SystemUI Root").transform.Find("MessageWindowPanel").gameObject;
|
|
|
- MessageWindowMgr messageWindowMgr = GameMain.Instance.ScriptMgr.adv_kag.MessageWindowMgr;
|
|
|
- messageWindowMgr.OpenMessageWindowPanel();
|
|
|
-
|
|
|
- UILabel component = UTY.GetChildObject(messageGameObject, "MessageViewer/MsgParent/Message", false).GetComponent<UILabel>();
|
|
|
- UILabel nameComponent = UTY.GetChildObject(messageGameObject, "MessageViewer/MsgParent/SpeakerName/Name", false).GetComponent<UILabel>();
|
|
|
-
|
|
|
- MessageClass inst = new MessageClass(messageGameObject, messageWindowMgr);
|
|
|
- // Fix for ENG version: reconfigure MessageClass to behave as in JP game
|
|
|
- inst.subtitles_manager_.visible = false;
|
|
|
- inst.subtitles_manager_ = null;
|
|
|
- component.gameObject.SetActive(true);
|
|
|
- nameComponent.gameObject.SetActive(true);
|
|
|
- UTY.GetChildObject(messageGameObject, "MessageViewer/MsgParent/MessageBox", false).SetActive(true);
|
|
|
- Utility.SetFieldValue<MessageClass, UILabel>(inst, "message_label_", component);
|
|
|
- Utility.SetFieldValue<MessageClass, UILabel>(inst, "name_label_", nameComponent);
|
|
|
-
|
|
|
- component.ProcessText();
|
|
|
- Utility.SetFieldValue<UILabel, int>(component, "mFontSize", fontSize);
|
|
|
-
|
|
|
- inst.SetText(nameTextField.Value, messageTextArea.Value, "", 0, AudioSourceMgr.Type.System);
|
|
|
- inst.FinishChAnime();
|
|
|
+ messageWindowManager.ShowMessage(nameTextField.Value, messageTextArea.Value);
|
|
|
}
|
|
|
|
|
|
public override void Draw(params GUILayoutOption[] layoutOptions)
|