1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using UnityEngine;
- namespace COM3D2.MeidoPhotoStudio.Plugin
- {
- internal class MessageWindowManager
- {
- private static GameObject sysRoot;
- private MessageClass msgClass;
- private MessageWindowMgr msgWnd;
- private UILabel msgLabel;
- private UILabel nameLabel;
- private GameObject msgGameObject;
- public bool ShowingMessage { get; private set; }
- public MessageWindowManager()
- {
- sysRoot = GameObject.Find("__GameMain__/SystemUI Root");
- this.msgWnd = GameMain.Instance.MsgWnd;
- this.msgGameObject = sysRoot.transform.Find("MessageWindowPanel").gameObject;
- this.msgClass = new MessageClass(this.msgGameObject, this.msgWnd);
- this.nameLabel = UTY.GetChildObject(this.msgGameObject, "MessageViewer/MsgParent/SpeakerName/Name", false)
- .GetComponent<UILabel>();
- this.msgLabel = UTY.GetChildObject(this.msgGameObject, "MessageViewer/MsgParent/Message", false)
- .GetComponent<UILabel>();
- Utility.SetFieldValue<MessageClass, UILabel>(this.msgClass, "message_label_", this.msgLabel);
- Utility.SetFieldValue<MessageClass, UILabel>(this.msgClass, "name_label_", this.nameLabel);
- }
- public void Activate()
- {
- SetPhotoMessageWindowActive(true);
- }
- public void Deactivate()
- {
- this.msgWnd.CloseMessageWindowPanel();
- SetPhotoMessageWindowActive(false);
- }
- private void SetPhotoMessageWindowActive(bool active)
- {
- UTY.GetChildObject(this.msgGameObject, "MessageViewer/MsgParent/MessageBox", false)
- .SetActive(active);
- UTY.GetChildObject(this.msgGameObject, "MessageViewer/MsgParent/Hitret", false)
- .GetComponent<UISprite>().enabled = !active;
- this.nameLabel.gameObject.SetActive(active);
- this.msgLabel.gameObject.SetActive(active);
- Transform transform = sysRoot.transform.Find("MessageWindowPanel/MessageViewer/MsgParent/Buttons");
- MessageWindowMgr.MessageWindowUnderButton[] msgButtons = new[]
- {
- MessageWindowMgr.MessageWindowUnderButton.Skip,
- MessageWindowMgr.MessageWindowUnderButton.Auto,
- MessageWindowMgr.MessageWindowUnderButton.Voice,
- MessageWindowMgr.MessageWindowUnderButton.BackLog,
- MessageWindowMgr.MessageWindowUnderButton.Config
- };
- foreach (var msgButton in msgButtons)
- {
- transform.Find(msgButton.ToString()).gameObject.SetActive(!active);
- }
- if (this.msgClass.subtitles_manager_ != null)
- {
- this.msgClass.subtitles_manager_.visible = false;
- this.msgClass.subtitles_manager_ = null;
- }
- }
- public void ShowMessage(string name, string message)
- {
- ShowingMessage = true;
- this.msgWnd.OpenMessageWindowPanel();
- this.msgLabel.ProcessText();
- this.msgClass.SetText(name, message, "", 0, AudioSourceMgr.Type.System);
- this.msgClass.FinishChAnime();
- }
- public void SetFontSize(int fontSize)
- {
- Utility.SetFieldValue<UILabel, int>(this.msgLabel, "mFontSize", fontSize);
- }
- public void CloseMessagePanel()
- {
- ShowingMessage = false;
- this.msgWnd.CloseMessageWindowPanel();
- }
- }
- }
|