//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, October 15, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class UserHelpWin : Window { [SerializeField] Button m_Close; [SerializeField] Toggle m_Issues; [SerializeField] Text m_IssueTitle; [SerializeField] Toggle m_Contact; [SerializeField] Text m_ContactTitle; [SerializeField] RectTransform m_IssueContainer; [SerializeField] ScrollRect m_IssueScrollRect; [SerializeField] UserIssueBehaviour m_IssueBehaviourPattern; [SerializeField] RectTransform m_ContactContainer; [SerializeField] Text m_QQTitle; [SerializeField] Text m_QQ; [SerializeField] Text m_Phone; [SerializeField] Button m_CopyQQ; [SerializeField] Button m_CopyPhone; [SerializeField] UserHelpContactCopySucceedTip m_CopySucceedTip; bool inited = false; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Close.SetListener(CloseClick); m_Issues.SetListener(DisplayIssues); m_Contact.SetListener(DisplayContact); m_CopyQQ.SetListener(CopyQQ); m_CopyPhone.SetListener(CopyPhone); } protected override void OnPreOpen() { if (!inited) { inited = true; InitIssues(); InitContact(); } m_Issues.isOn = false; m_Contact.isOn = true; DisplayIssues(false); DisplayContact(true); m_CopySucceedTip.SetActive(false); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } protected override void OnActived() { base.OnActived(); } #endregion private void InitIssues() { var configs = HelpInfoConfig.GetValues(); var needCount = configs.Count; var behaviours = new List(); behaviours.Add(m_IssueBehaviourPattern); for (var i = 1; i < needCount; i++) { var instance = Instantiate(m_IssueBehaviourPattern.gameObject) as GameObject; var behaviour = instance.GetComponent(); behaviours.Add(behaviour); behaviour.transform.SetParentEx(m_IssueScrollRect.content, Vector3.zero, Vector3.zero, Vector3.one); } for (var i = 0; i < behaviours.Count; i++) { behaviours[i].Display(configs[i].title, configs[i].help); } } private void InitContact() { var config = ContactConfig. GetConfig(VersionConfig.Get().appId, VersionConfig.Get().branch); m_QQTitle.text = Language.GetFromLocal(31); var qqContent = config.qq.Split('|'); m_QQ.text = string.Join("\r\n", qqContent); m_CopyQQ.SetActive(qqContent.Length == 1); m_Phone.text = Language.GetFromLocal(32, config.phone); } private void DisplayIssues(bool display) { m_IssueContainer.SetActive(display); m_IssueTitle.color = UIHelper.GetUIColor(display ? TextColType.LightYellow : TextColType.NavyBrown); } private void DisplayContact(bool display) { m_ContactContainer.SetActive(display); m_ContactTitle.color = UIHelper.GetUIColor(display ? TextColType.LightYellow : TextColType.NavyBrown); } private void CopyQQ() { if (Application.isMobilePlatform) { var config = ContactConfig.GetConfig(VersionConfig.Get().appId, VersionConfig.Get().branch); ynmbxxjUtil.Instance.CopyContent(m_QQ.text); m_CopySucceedTip.Display(Language.GetFromLocal(33)); } } private void CopyPhone() { if (Application.isMobilePlatform) { var config = ContactConfig.GetConfig(VersionConfig.Get().appId, VersionConfig.Get().branch); ynmbxxjUtil.Instance.CopyContent(config.phone); m_CopySucceedTip.Display(Language.GetFromLocal(33)); } } } }