using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using Snxxz.UI; public class StoryMissions : MonoBehaviour { [SerializeField] GameObject m_ImgSelected;//选中条 [SerializeField] Button m_DeliveryButton;//传送符按钮 [SerializeField] RichText m_ContentText;//内容 [SerializeField] GameObject m_GuidanceShowImage;//闪烁条 [SerializeField] Button m_FlyingShoesTaskButton; private string[] MainlineTaskType;//主线类型 private string[] SideQuestsType;//支线类型 private string[] BountyMissionsType;//赏金 private string[] FairyAuMissionType;//仙盟任务 Dictionary _AllMissionDict = new Dictionary();//任务初始化接收字典 Dictionary> _DicTaskInforma = new Dictionary>();//任务字典的信息 TaskModel m_TaskModel; TaskModel taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel()); } } PackModel _playerPack; PackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel()); } } private void Awake() { m_DeliveryButton.RemoveAllListeners(); m_DeliveryButton.AddListener(OnClickDeliveryButton); } private void Start() { m_FlyingShoesTaskButton.AddListener(OnClickTaskButton); } private void OnClickTaskButton() { DropItemManager.StopMissionPickup = true;//主动停止拾取物品 ContentText.ExcuteHref(); } private void OnEnable() { _AllMissionDict = taskmodel.allMissionDict; } public GameObject ImgSelected { get { return m_ImgSelected; } set { m_ImgSelected = value; } } public Button DeliveryButton { get { return m_DeliveryButton; } set { m_DeliveryButton = value; } } public RichText ContentText { get { return m_ContentText; } set { m_ContentText = value; } } public GameObject GuidanceShowImage { get { return m_GuidanceShowImage; } set { m_GuidanceShowImage = value; } } public Button FlyingShoesTaskButton1 { get { return m_FlyingShoesTaskButton; } set { m_FlyingShoesTaskButton = value; } } private void OnClickDeliveryButton()//传送符 { string _FlyID = FuncConfigConfig.Get("TransportPay").Numerical1; int itemNumber = playerPack.GetItemCountByID(PackType.Item, int.Parse(_FlyID));//获取飞鞋的数量 if (ModelCenter.Instance.GetModel().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0) { m_ContentText.ExcuteHref(1); return; } if (itemNumber > 0) { m_ContentText.ExcuteHref(1); } else { SysNotifyMgr.Instance.ShowTip("Z_NoFlyItem"); } } public void FlyingShoes_Task(int TaskID) { if (MainlineTaskType == null) { MainlineTaskType = FuncConfigConfig.Get("MainlineTaskType").Numerical1.Split('|');//主线 SideQuestsType = FuncConfigConfig.Get("SideQuestsType").Numerical1.Split('|');//支线 BountyMissionsType = FuncConfigConfig.Get("BountyMissionsType").Numerical1.Split('|');//赏金 FairyAuMissionType = FuncConfigConfig.Get("FairyAuMissionType").Numerical1.Split('|');//仙盟 } _AllMissionDict = taskmodel.allMissionDict; _DicTaskInforma = taskmodel._DicTaskInformation; if (!_AllMissionDict.ContainsKey(TaskID)) { return; } if (_AllMissionDict[TaskID].MissionState == 2) { m_ContentText.text = "" + TaskTitle(TaskID) + ""; } else { m_ContentText.text = " " + TaskTitle(TaskID) + " "; } m_GuidanceShowImage.SetActive(false); string str = _AllMissionDict[TaskID].InforList; var taskinfo = TASKINFOConfig.Get(str); m_ContentText.raycastTarget = false; if (_DicTaskInforma.ContainsKey(TaskID)) { Dictionary SkillDic = new Dictionary(); SkillDic = _DicTaskInforma[TaskID]; string strA = "on_kill_" + TaskID.ToString(); string strB = "get_byid_" + TaskID.ToString(); if (SkillDic.ContainsKey(strA)) { m_ContentText.SetReplaceInfo(SkillDic); } else if (SkillDic.ContainsKey(strB)) { m_ContentText.SetReplaceInfo(SkillDic); } } if (taskmodel.BountyDic.ContainsKey(TaskID) || taskmodel.FairyAuDic.ContainsKey(TaskID)) { var config = TASKINFOConfig.Get(str); if (config != null) { string strRichA = TaskAllocation.Instance.GetTaskInfo(config.show_writing, TaskID); m_ContentText.text = strRichA; } else { DebugEx.LogError("任务表格PyTaskInfo配置缺失"); } } } private string TaskTitle(int taskID) { var config = TASKINFOConfig.Get(_AllMissionDict[taskID].InforList); if (config == null) { DebugEx.LogError("任务表格PyTaskInfo配置缺失"); return null; } string taskName = config.show_writing; if (_AllMissionDict[taskID].Type == 15) { string str = string.Format(Language.Get("Z1800"), taskName); return str; } for (int i = 0; i < MainlineTaskType.Length; i++) { if (MainlineTaskType[i] == _AllMissionDict[taskID].Type.ToString()) { string str = string.Format(Language.Get("Z1805"), taskName); return str; } } for (int i = 0; i < SideQuestsType.Length; i++) { if (SideQuestsType[i] == _AllMissionDict[taskID].Type.ToString()) { string str = string.Format(Language.Get("Z1806"), taskName); return str; } } for (int i = 0; i < BountyMissionsType.Length; i++) { if (BountyMissionsType[i] == _AllMissionDict[taskID].Type.ToString()) { string str = string.Format(Language.Get("Z1807"), taskName); return str; } } for (int i = 0; i < FairyAuMissionType.Length; i++) { if (FairyAuMissionType[i] == _AllMissionDict[taskID].Type.ToString()) { string str = string.Format(Language.Get("Z1808"), taskName); return str; } } return null; } }