From f31a204c7332999f22efd9d6c24d73dc0a5f3fe1 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 26 三月 2019 11:38:52 +0800
Subject: [PATCH] 6394 【前端】【2.0】剧情任务对话支持同一NPC不同任务状态的多段对话
---
System/MainInterfacePanel/DialogueDuidanceWin.cs | 68 +++++++++++++---------------------
1 files changed, 26 insertions(+), 42 deletions(-)
diff --git a/System/MainInterfacePanel/DialogueDuidanceWin.cs b/System/MainInterfacePanel/DialogueDuidanceWin.cs
index 21e2d8c..8c01a9e 100644
--- a/System/MainInterfacePanel/DialogueDuidanceWin.cs
+++ b/System/MainInterfacePanel/DialogueDuidanceWin.cs
@@ -29,13 +29,13 @@
[SerializeField] Text m_ContentText;
[SerializeField] Text m_NextText;
- [SerializeField] List<int> MysteriousTaskID = new List<int>();//鏂版坊绁炵浠诲姟
Dictionary<int, string> PlayerIcon = new Dictionary<int, string>();
- private int storyMissionsID = 0;//鍓ф儏浠诲姟ID
- private int taskCount = 0;//鑾峰彇瀵硅瘽鎬绘潯鏁�
- private int[] sPeaker;//瀵硅瘽瀵瑰簲鍗婅韩鍍忥紙0涓轰富瑙�/1涓篘PC锛�
- private int nowTaskNum = 0;//鑾峰彇褰撳墠鐨勪换鍔�
- private int typesPeaker = -1;
+
+ int[] sPeaker;//瀵硅瘽瀵瑰簲鍗婅韩鍍忥紙0涓轰富瑙�/1涓篘PC锛�
+ int taskIndex = 0;//鑾峰彇褰撳墠鐨勪换鍔�
+ int typesPeaker = -1;
+
+ public static int storyMissionId = 0;
private float timeType = 0f;
TaskModel m_TaskModel;
@@ -77,8 +77,7 @@
m_NextText.text = string.Format(Language.Get("TaskContinueCount"), AwaitSecond);
IsCloseWindow();
typesPeaker = -1;
- storyMissionsID = taskmodel._TaskNow;
- var config = StoryMissionsConfig.Get(storyMissionsID);
+ var config = StoryMissionsConfig.Get(storyMissionId);
if (config.TaskMusic != 0)
{
SoundPlayer.Instance.PlayNpcAudio(config.TaskMusic);
@@ -87,22 +86,11 @@
{
return;
}
- if (config.NpcID[0] == taskmodel.NPCid)
- {
- taskCount = config.TalkNum[0];
- sPeaker = config.Speaker1;
- IsMultistage = 0;
- }
- else
- {
- taskCount = config.TalkNum[0];
- sPeaker = config.Speaker2;
- IsMultistage = 1;
- }
- //taskCount = config.TalkNum;
- //sPeaker = config.Speaker;
- nowTaskNum = 0;
- ShowDialogSelect(sPeaker[0], nowTaskNum);
+
+ sPeaker = config.Speaker1;
+
+ taskIndex = config.TalkNum[0];
+ ShowDialogSelect(sPeaker[0], taskIndex);
}
private void IsCloseWindow()
@@ -134,11 +122,6 @@
protected override void OnAfterClose()
{
- if (MysteriousTaskID.Contains(storyMissionsID))
- {
- mainModel.MysteriousTaskID = storyMissionsID;
- CoroutineMgr.Instance.OnMysteriousTask();
- }
bool _bool = IsDungeon();
if (_bool)
{
@@ -197,17 +180,20 @@
private void OnClickMarkRay()
{
timeType = 0;
- var config = StoryMissionsConfig.Get(storyMissionsID);
+ var config = StoryMissionsConfig.Get(storyMissionId);
if (config == null)
{
return;
}
- nowTaskNum += 1;
- if (taskCount - 1 >= nowTaskNum)//涓嬩竴鏉�
+
+ taskIndex += 1;
+ var end = config.TalkNum.Length > 1 ? config.TalkNum[1] : config.TalkNum[0];
+
+ if (taskIndex <= end)//涓嬩竴鏉�
{
- ShowDialogSelect(sPeaker[nowTaskNum], nowTaskNum);
+ ShowDialogSelect(sPeaker[taskIndex], taskIndex);
}
- if (taskCount - 1 < nowTaskNum)//鏈�鍚庝竴鏉�
+ else//鏈�鍚庝竴鏉�
{
SessionEnd(TaskType.OK);
Close();
@@ -223,7 +209,7 @@
}
private void OnClickSKIPButton()
{
- var config = StoryMissionsConfig.Get(storyMissionsID);
+ var config = StoryMissionsConfig.Get(storyMissionId);
if (config != null)
{
SessionEnd(TaskType.OK);
@@ -251,7 +237,7 @@
m_PlayerNameText.text = PlayerDatas.Instance.baseData.PlayerName;
- string platercContentKey = StoryMissionsConfig.Get(storyMissionsID).content[IsMultistage];
+ string platercContentKey = StoryMissionsConfig.Get(storyMissionId).content;
var config = TASKINFOConfig.Get(string.Format(platercContentKey, stepNum));
if (config != null)
{
@@ -270,15 +256,15 @@
m_BaseboardImageNPC.SetActive(true);
m_BaseboardImagePlayer.SetActive(false);
}
- var configStoryMissions = StoryMissionsConfig.Get(storyMissionsID);
+ var configStoryMissions = StoryMissionsConfig.Get(storyMissionId);
if (configStoryMissions == null)
{
return;
}
- int npcId = configStoryMissions.NpcID[IsMultistage];
+ int npcId = configStoryMissions.NpcID;
var npcConfig = NPCConfig.Get(npcId);
m_NPCNameText.text = npcConfig.charName;
- string npcContentKey = configStoryMissions.content[IsMultistage];
+ string npcContentKey = configStoryMissions.content;
var taskInfo = TASKINFOConfig.Get(string.Format(npcContentKey, stepNum));
if (taskInfo == null)
{
@@ -288,9 +274,7 @@
{
m_ContentText_Npc.text = taskInfo.show_writing;
}
-
- string npcIcon = configStoryMissions.NpcIcon[IsMultistage];
-
+
var data = new UI3DNPCExhibitionData()
{
npcId = npcId,
--
Gitblit v1.8.0