//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, October 13, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //任务的默认对话筐 namespace Snxxz.UI { public class DefaultDialogueBoxWin : Window { public Text _TextName;//NPC名称 public Text _TextDefaultDialogue;//默认对话内容 public Button _BtnEnter;//确认按钮 public Button _CloseBtn;//关闭按钮 private int _NPCID = 0;//获取NPCID Dictionary _AllMissionDict = new Dictionary();//任务初始化接收字典 #region Built-in TaskModel m_TaskModel; TaskModel taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel()); } } protected override void BindController() { } protected override void AddListeners() { _BtnEnter.onClick.AddListener(EnterButton); _CloseBtn.onClick.AddListener(CloseButton); } protected override void OnPreOpen() { MainInterfaceWin.IsOpenMaininterface += IsOpenMaininterface; _AllMissionDict = taskmodel.allMissionDict; _NPCID = taskmodel.NPCid; var npcConfig = NPCConfig.Get(_NPCID); if (npcConfig != null) { if (npcConfig.NPCSpeakID != 0) { SoundPlayer.Instance.PlayNpcAudio(npcConfig.NPCSpeakID); } } ContentAssignmen(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { MainInterfaceWin.IsOpenMaininterface -= IsOpenMaininterface; } private void IsOpenMaininterface() { Close(); } protected override void LateUpdate() { base.LateUpdate(); if (!WindowCenter.Instance.IsOpen()) { return; } GA_Hero _hero = PlayerDatas.Instance.hero; if (_hero == null) { return; } if (_hero.LockTarget == null) { return; } float _chkDistSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, _hero.LockTarget.Pos); if (_chkDistSqrt > Mathf.Pow(GeneralDefine.FarawayNpcDist, 2)) { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); _hero.LockTarget = null; } } protected override void OnAfterClose() { } #endregion void EnterButton() { Close(); WindowCenter.Instance.Open(); SelectionManager.Release(SelectionManager.E_Type.Green); } void CloseButton() { Close(); WindowCenter.Instance.Open(); SelectionManager.Release(SelectionManager.E_Type.Green); } void ContentAssignmen()//内容赋值 { NPCConfig Npc = NPCConfig.Get(_NPCID); _TextName.text = Npc.charName; string _taskInfoKey = string.Format("d_{0}_0_1", _NPCID); if (TASKINFOConfig.Get(_taskInfoKey) == null) return; TASKINFOConfig DefaultDialogContent = TASKINFOConfig.Get(_taskInfoKey); _TextDefaultDialogue.text = DefaultDialogContent.show_writing; } } }