| | |
| | | using TableConfig;
|
| | | using System.Collections.Generic;
|
| | | //任务面板的支线任务
|
| | | namespace Snxxz.UI {
|
| | | namespace Snxxz.UI
|
| | | {
|
| | |
|
| | | public class SideMission:MonoBehaviour {
|
| | | public class SideMission : MonoBehaviour
|
| | | {
|
| | | [SerializeField] ScrollerController _TaskRamusList;
|
| | | //右侧面板
|
| | | [SerializeField] Text _Text_TaskName;//任务名
|
| | |
| | | PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
|
| | | PlayerPackModel _playerPack;
|
| | | PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
|
| | | PlayerMainDate m_MainModel;
|
| | | PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
|
| | | private List<RewardAnalysis.RewardInfo> rewardList = new List<RewardAnalysis.RewardInfo>();
|
| | | private int TaskIdNow = 0;
|
| | | private void Awake()
|
| | | {
|
| | | |
| | |
|
| | | }
|
| | | private void Start()
|
| | | {
|
| | |
| | | {
|
| | | TaskIdNow = 0;
|
| | | _TaskRamusList.OnRefreshCell += OnRefreshGridCell;
|
| | | playerPack.RefreshItemCountAct += RefreshItemCountAct;
|
| | | playerPack.ItemCntReduceAct += ItemCntReduceAct;
|
| | | OnCreateGridLineCell(_TaskRamusList);
|
| | | }
|
| | |
|
| | | private void OnDisable()
|
| | | {
|
| | | _TaskRamusList.OnRefreshCell -= OnRefreshGridCell;
|
| | | playerPack.RefreshItemCountAct -= RefreshItemCountAct;
|
| | | playerPack.ItemCntReduceAct -= ItemCntReduceAct;
|
| | | }
|
| | |
|
| | | private void ItemCntReduceAct(PackType arg1, int arg2, int arg3)
|
| | | {
|
| | | if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
|
| | | {
|
| | | foreach (var key in taskmodel.SideQuestsDic.Keys)
|
| | | {
|
| | | if (mainModel.TaskId_Skill1.Contains(key))
|
| | | {
|
| | | _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
|
| | | {
|
| | | if (arg1 == PackType.rptItem && arg3 == mainModel.ItemID)
|
| | | {
|
| | | foreach (var key in taskmodel.SideQuestsDic.Keys)
|
| | | {
|
| | | if (mainModel.TaskId_Skill1.Contains(key))
|
| | | {
|
| | | _TaskRamusList.m_Scorller.RefreshActiveCellViews();//刷新当前可见
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | private void ForwardButton()
|
| | | {
|
| | | if (mainModel.TaskId_Skill1.Contains(TaskIdNow))
|
| | | {
|
| | | int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
|
| | | if (itemNumber >= mainModel.ItemNumber)
|
| | | {
|
| | | taskmodel.CompletionOfTask(TaskIdNow);
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
|
| | | }
|
| | | else
|
| | | {
|
| | | int Gold = (int)UIHelper.GetMoneyCnt(1);//仙玉
|
| | | int GoldPaper = (int)UIHelper.GetMoneyCnt(2);//绑玉
|
| | | string strNull = string.Empty;
|
| | | int needNumber = (mainModel.ItemNumber - itemNumber) * mainModel.UnitPrice;//所需金额
|
| | | if (GoldPaper >= needNumber)
|
| | | {
|
| | | strNull = string.Format(Language.Get("PassiveSkillTask3"), needNumber);
|
| | | }
|
| | | else
|
| | | {
|
| | | strNull = string.Format(Language.Get("PassiveSkillTask4"), needNumber, GoldPaper, needNumber- GoldPaper);
|
| | | }
|
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
|
| | | {
|
| | | |
| | | if (isOk)
|
| | | {
|
| | | if (Gold + GoldPaper >= needNumber)
|
| | | {
|
| | | taskmodel.CompletionOfTask(TaskIdNow);
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
|
| | | }
|
| | | else
|
| | | {
|
| | | if (VersionConfig.Get().isBanShu)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("GoldErr");
|
| | | return;
|
| | | }
|
| | | WindowCenter.Instance.Open<RechargeTipWin>();
|
| | | }
|
| | | } |
| | | });
|
| | |
|
| | | }
|
| | | return;
|
| | | }
|
| | | if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
|
| | | {
|
| | | taskmodel.CompletionOfTask(TaskIdNow);
|
| | | if (mainModel.TaskId_Skill.Contains(TaskIdNow))
|
| | | {
|
| | | WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | _Text_TaskTarget.ExcuteHref();
|
| | | }
|
| | | |
| | |
|
| | | WindowCenter.Instance.CloseImmediately<TaskWin>();
|
| | | WindowCenter.Instance.Open<MainInterfaceWin>();
|
| | | }
|
| | |
| | | var taskname = taskmodel.SideQuestsDic[TaskId].Name;
|
| | | if (Config.Instance.Get<TASKINFOConfig>(taskname) == null)
|
| | | {
|
| | | DebugEx.LogError("TASKINFO任务表格没有获取到该任务名称"+ taskname);
|
| | | DebugEx.LogError("TASKINFO任务表格没有获取到该任务名称" + taskname);
|
| | | return;
|
| | | }
|
| | | sideMissionTitleBtton.TitleName.text= Config.Instance.Get<TASKINFOConfig>(taskname).show_writing;//任务名
|
| | | sideMissionTitleBtton.TitleName.text = Config.Instance.Get<TASKINFOConfig>(taskname).show_writing;//任务名
|
| | | if (!taskmodel.SideQuestsDic.ContainsKey(TaskId))
|
| | | {
|
| | | return;
|
| | | }
|
| | | sideMissionTitleBtton.Text_RamusState.text = GegionalTaskStatus(taskmodel.SideQuestsDic[TaskId].MissionState);
|
| | | sideMissionTitleBtton.SideMissionTitleBtton1.RemoveAllListeners();
|
| | | sideMissionTitleBtton.SideMissionTitleBtton1.AddListener(()=> |
| | | sideMissionTitleBtton.SideMissionTitleBtton1.AddListener(() =>
|
| | | {
|
| | | if (TaskId != TaskIdNow)
|
| | | {
|
| | |
| | | _Text_TaskName.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Name).show_writing;//任务名
|
| | | _Text_TaskDescribe.text = Config.Instance.Get<TASKINFOConfig>(taskmodel.SideQuestsDic[taskID].Desclist).show_writing;//任务描述
|
| | | string strINfor = taskmodel.SideQuestsDic[taskID].InforList;
|
| | | string str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
|
| | | string str = string.Empty;
|
| | | if (mainModel.TaskId_Skill1.Contains(taskID))
|
| | | {
|
| | | int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品
|
| | | if (itemNumber >= mainModel.ItemNumber)
|
| | | {
|
| | | string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, mainModel.ItemNumber);
|
| | | str = Str_A;
|
| | | }
|
| | | else
|
| | | {
|
| | | string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber);
|
| | | str = Str_A;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | str = Config.Instance.Get<TASKINFOConfig>(strINfor).show_writing;
|
| | | } |
| | | str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty);
|
| | | str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty);
|
| | | _Text_TaskTarget.text = str;//任务目标
|
| | | if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
|
| | | |
| | | if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3 || mainModel.TaskId_Skill1.Contains(taskID))//能够进行立即完成的支线任务
|
| | | {
|
| | | _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z")) ;
|
| | | _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z"));
|
| | | }
|
| | | else
|
| | | {
|
| | | _Text_Forward.text = TaskStatus(taskmodel.SideQuestsDic[taskID].MissionState);
|
| | | }
|
| | | |
| | |
|
| | | if (taskmodel._DicTaskInformation.ContainsKey(taskID))
|
| | | {
|
| | | _Text_TaskTarget.SetReplaceInfo(taskmodel._DicTaskInformation[taskID]);
|
| | | }
|
| | | |
| | |
|
| | | if (taskmodel.SideQuestsDic[taskID].RewardList == null)
|
| | | {
|
| | | if (_Grid.childCount != 0)
|