少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-16 4022540109e9f8d7913771bb26653b83274e06f1
System/UserHelp/UserHelpWin.cs
@@ -1,139 +1,152 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, October 15, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.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_QQ;
        [SerializeField] Text m_Phone;
        [SerializeField] Button m_CopyQQ;
        [SerializeField] Button m_CopyPhone;
        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 = true;
            m_Contact.isOn = false;
            DisplayIssues(true);
            DisplayContact(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 = Config.Instance.GetAllValues<HelpInfoConfig>();
            var needCount = configs.Count;
            var behaviours = new List<UserIssueBehaviour>();
            behaviours.Add(m_IssueBehaviourPattern);
            for (var i = 1; i < needCount; i++)
            {
                var instance = Instantiate(m_IssueBehaviourPattern.gameObject) as GameObject;
                var behaviour = instance.GetComponent<UserIssueBehaviour>();
                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 = Config.Instance.Get<ContactConfig>(VersionConfig.Get().appId);
            m_QQ.text = Language.GetFromLocal(31, config.qq);
            m_Phone.text = Language.GetFromLocal(32, config.phone);
        }
        private void DisplayIssues(bool display)
        {
            m_IssueContainer.gameObject.SetActive(display);
            m_IssueTitle.color = UIHelper.GetUIColor(display ? TextColType.LightYellow : TextColType.NavyBrown);
        }
        private void DisplayContact(bool display)
        {
            m_ContactContainer.gameObject.SetActive(display);
            m_ContactTitle.color = UIHelper.GetUIColor(display ? TextColType.LightYellow : TextColType.NavyBrown);
        }
        private void CopyQQ()
        {
            SDKUtility.Instance.CopyContent(m_QQ.text);
        }
        private void CopyPhone()
        {
            SDKUtility.Instance.CopyContent(m_Phone.text);
        }
    }
}
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, October 15, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.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_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 = true;
            m_Contact.isOn = false;
            DisplayIssues(true);
            DisplayContact(false);
            m_CopySucceedTip.gameObject.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 = Config.Instance.GetAllValues<HelpInfoConfig>();
            var needCount = configs.Count;
            var behaviours = new List<UserIssueBehaviour>();
            behaviours.Add(m_IssueBehaviourPattern);
            for (var i = 1; i < needCount; i++)
            {
                var instance = Instantiate(m_IssueBehaviourPattern.gameObject) as GameObject;
                var behaviour = instance.GetComponent<UserIssueBehaviour>();
                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 = Config.Instance.Get<ContactConfig>(VersionConfig.Get().appId);
            m_QQ.text = Language.GetFromLocal(31, config.qq);
            m_Phone.text = Language.GetFromLocal(32, config.phone);
        }
        private void DisplayIssues(bool display)
        {
            m_IssueContainer.gameObject.SetActive(display);
            m_IssueTitle.color = UIHelper.GetUIColor(display ? TextColType.LightYellow : TextColType.NavyBrown);
        }
        private void DisplayContact(bool display)
        {
            m_ContactContainer.gameObject.SetActive(display);
            m_ContactTitle.color = UIHelper.GetUIColor(display ? TextColType.LightYellow : TextColType.NavyBrown);
        }
        private void CopyQQ()
        {
            if (Application.isMobilePlatform)
            {
                var config = Config.Instance.Get<ContactConfig>(VersionConfig.Get().appId);
                SDKUtility.Instance.CopyContent(config.qq);
                m_CopySucceedTip.Display(Language.GetFromLocal(33));
            }
        }
        private void CopyPhone()
        {
            if (Application.isMobilePlatform)
            {
                var config = Config.Instance.Get<ContactConfig>(VersionConfig.Get().appId);
                SDKUtility.Instance.CopyContent(config.phone);
                m_CopySucceedTip.Display(Language.GetFromLocal(33));
            }
        }
    }
}