//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, December 17, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class GatherSoulDungeonHintWin : Window { [SerializeField] Text m_HelpRemind; [SerializeField] Image m_HeadIcon; [SerializeField] RectTransform m_ContainerReady; [SerializeField] RectTransform m_ContainerTarget; [SerializeField] RectTransform m_ContainerHint; [SerializeField] Text m_Title; [SerializeField] Text m_AttackDefendCount; [SerializeField] Text m_IceDefendCount; [SerializeField] DungeonTargetBehaviour m_TargetBehaviour; GatherSoulDungeonModel model { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { model.missionHelpUpdate += MissionHelpUpdate; Display(); m_TargetBehaviour.Init(GatherSoulDungeonModel.DUNGEON_MAPID); } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.missionHelpUpdate -= MissionHelpUpdate; } protected override void OnAfterClose() { } #endregion void Display() { DisplayHelpRemind(); DisplayMissionTarget(); } void DisplayHelpRemind() { var mission = model.mission; if (mission.step <= 1) { m_HelpRemind.text = UIHelper.ReplaceNewLine(Language.Get("GatherSoulHelpRemind_0")); m_HeadIcon.SetSprite("XT_JH_11"); } else { m_HelpRemind.text = UIHelper.ReplaceNewLine(Language.Get("GatherSoulHelpRemind_1")); m_HeadIcon.SetSprite("XT_JH_10"); } m_HeadIcon.SetNativeSize(); } void DisplayMissionTarget() { var mission = model.mission; var lineId = mission.lineID; var dungeonId = dungeonModel.GetDungeonId(GatherSoulDungeonModel.DUNGEON_MAPID, lineId); var dungeonConfig = DungeonConfig.Get(dungeonId); if (dungeonConfig != null) { m_Title.text = dungeonConfig.FBName; } m_ContainerReady.gameObject.SetActive(mission.step <= 1); m_ContainerTarget.gameObject.SetActive(mission.step > 1); m_ContainerHint.gameObject.SetActive(mission.step > 1); if (mission.step <= 1) { m_AttackDefendCount.text = StringUtility.Contact( model.GetDefendNpcCount(model.attckDefendNpcId), "/", model.attackDefendCountLimit); m_IceDefendCount.text = StringUtility.Contact( model.GetDefendNpcCount(model.iceDefendNpcId), "/", model.iceDefendCountLimit); } } private void MissionHelpUpdate() { Display(); } } }