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<int, MissionDetailDates> _AllMissionDict = new Dictionary<int, MissionDetailDates>();//任务初始化接收字典
|
Dictionary<int, Dictionary<string, string>> _DicTaskInforma = new Dictionary<int, Dictionary<string, string>>();//任务字典的信息
|
TaskModel m_TaskModel;
|
TaskModel taskmodel
|
{
|
get
|
{
|
return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<TaskModel>());
|
}
|
}
|
PackModel _playerPack;
|
PackModel playerPack
|
{
|
get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); }
|
}
|
|
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<VipModel>().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 = "<color=#44e863>" + TaskTitle(TaskID) + "</color>";
|
}
|
else
|
{
|
m_ContentText.text = "<color=#feed28> " + TaskTitle(TaskID) + " </color>";
|
}
|
m_GuidanceShowImage.SetActive(false);
|
|
string str = _AllMissionDict[TaskID].InforList;
|
var taskinfo = TASKINFOConfig.Get(str);
|
m_ContentText.raycastTarget = false;
|
if (_DicTaskInforma.ContainsKey(TaskID))
|
{
|
Dictionary<string, string> SkillDic = new Dictionary<string, string>();
|
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;
|
}
|
}
|