Compare commits

...

2 Commits

4 changed files with 47 additions and 29 deletions

View File

@ -2,6 +2,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Net.NetworkInformation;
using UnityEngine;
using System.Linq;
public class ProcessManager : BaseManager<ProcessManager>
{
@ -178,7 +179,7 @@ public class ProcessManager : BaseManager<ProcessManager>
}
}
public int currentSubProcessIDTemp = 0;
/// <summary>
/// 0 正常1 不在当前步骤触发ID2 当前步骤没有触发ID了
/// </summary>
@ -202,29 +203,33 @@ public class ProcessManager : BaseManager<ProcessManager>
{
if (triggerName != "工具间按钮" && triggerName != "现场按钮" && triggerName != "收回工具")
{
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.subProcessId != currentSubProcessIDTemp)
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep == d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes.Last())
{
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) =>
if (d_Scheme.CurrentProcess.CurrentSubProcess == d_Scheme.CurrentProcess.subProcesses.Last())
{
p.Init("提示", "当前步骤已完成,即将进入下一步", E_MessageType.Normal, () =>
CheckSubProcessSteps(subProcessStepId);
}
else
{
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) =>
{
CheckSubProcessSteps(subProcessStepId);
CurrentSubProcessStepTriggerNames();
p.Init("提示", "当前步骤已完成,即将进入下一步", E_MessageType.Normal, () =>
{
CheckSubProcessSteps(subProcessStepId);
CurrentSubProcessStepTriggerNames();
});
});
});
currentSubProcessIDTemp = d_Scheme.CurrentProcess.CurrentSubProcess.id;
}
}
else
{
CheckSubProcessSteps(subProcessStepId);
currentSubProcessIDTemp = d_Scheme.CurrentProcess.CurrentSubProcess.id;
}
}
else
{
CheckSubProcessSteps(subProcessStepId);
currentSubProcessIDTemp = d_Scheme.CurrentProcess.CurrentSubProcess.id;
}
}
CurrentSubProcessStepTriggerNames();

View File

@ -40,10 +40,18 @@ public class UI_SubProcessItem : BaseItem
else
GetControl<Image>("learningTips").gameObject.SetActive(false);
}
public void OnResetClick(bool isReset)
/// <summary>
///
/// </summary>
/// <param name="isReset"></param>
/// <param name="state">0 未完成所有步骤跳转1 完成所有步骤跳转</param>
public void OnResetClick(bool isReset, int state)
{
warnnigTips = isReset ? "是否重新学习?" : "当前步骤还没有学完,确定要切换吗?";
OnClick("subProcessBtn");
if (state == 0)
OnClick("subProcessBtn");
else
CheckSubProcess();
}
protected override void OnClick(string btnName)
{
@ -54,23 +62,27 @@ public class UI_SubProcessItem : BaseItem
if (GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0)
{
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) =>
{
p.Init("Ìáʾ", warnnigTips, E_MessageType.Error, () =>
{
GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID);
//ÖØÖÃÎïÌå
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, subProcessID);
//Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID);
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID);
});
});
CheckSubProcess();
}
break;
}
}
private void CheckSubProcess()
{
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) =>
{
p.Init("提示", warnnigTips, E_MessageType.Error, () =>
{
GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID);
//重置物体
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, subProcessID);
//Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID);
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID);
});
});
}
private void OnDestroy()
{

View File

@ -48,16 +48,17 @@ public class UI_TaskListPanel : BasePanel
/// <summary>
/// µã»÷µÚÒ»¸ö
/// </summary>
public void ClickFirstSubProcessesItem()
/// <param name="state">0 未完成所有步骤跳转1 完成所有步骤跳转</param>
public void ClickFirstSubProcessesItem(int state)
{
if (_content.GetChild(0).GetComponent<UI_SubProcessItem>())
{
_content.GetChild(0).GetComponent<UI_SubProcessItem>().OnResetClick(true);
_content.GetChild(0).GetComponent<UI_SubProcessItem>().OnResetClick(true, state);
return;
}
if (_content.GetChild(1).GetComponent<UI_SubProcessItem>())
{
_content.GetChild(1).GetComponent<UI_SubProcessItem>().OnResetClick(true);
_content.GetChild(1).GetComponent<UI_SubProcessItem>().OnResetClick(true, state);
}
}
@ -70,7 +71,7 @@ public class UI_TaskListPanel : BasePanel
GameManager.Instance.ShowUIPanelAndLoadScene(true);
break;
case "ReStartBtn":
ClickFirstSubProcessesItem();
ClickFirstSubProcessesItem(0);
break;
case "RePracticeBtn":
GameManager.Instance.Practice();

View File

@ -26,7 +26,7 @@ public class UI_TipsForPracticePanel : BasePanel
case "ResetStudy":
if (GameManager.UIMgr.GetPanel<UI_TaskListPanel>())
{
GameManager.UIMgr.GetPanel<UI_TaskListPanel>().ClickFirstSubProcessesItem();
GameManager.UIMgr.GetPanel<UI_TaskListPanel>().ClickFirstSubProcessesItem(1);
}
break;
case "BackBtn":