This commit is contained in:
陈向学 2024-08-29 19:54:49 +08:00
commit 25ee0c522d
3 changed files with 38 additions and 15 deletions

View File

@ -137,7 +137,6 @@ public class ProcessManager : BaseManager<ProcessManager>
{ {
HandoverSubProcess(spID, 0); HandoverSubProcess(spID, 0);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
//Debug.Log($"<color=red>进入下一步子流程</color>");
//Debug.Log("进入下一步子流程"); //Debug.Log("进入下一步子流程");
return true; return true;
} }
@ -171,13 +170,13 @@ public class ProcessManager : BaseManager<ProcessManager>
} }
} }
//public int currentSubProcessIDTemp = 0;
/// <summary> /// <summary>
/// 0 正常1 不在当前步骤触发ID2 当前步骤没有触发ID了 /// 0 正常1 不在当前步骤触发ID2 当前步骤没有触发ID了
/// </summary> /// </summary>
/// <param name="triggerID"></param> /// <param name="triggerName"></param>
/// <returns></returns> /// <returns></returns>
public int IsRightSubProcessStepsTriggerID(string triggerID, bool isRemove) public int IsRightSubProcessStepsTriggerID(string triggerName, bool isRemove)
{ {
if (GameManager.RunModelMgr.ModeType != E_ModeType.Study) return 0; if (GameManager.RunModelMgr.ModeType != E_ModeType.Study) return 0;
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.precondition == GameManager.RunModelMgr.SceneType.ToString()) if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.precondition == GameManager.RunModelMgr.SceneType.ToString())
@ -185,7 +184,7 @@ public class ProcessManager : BaseManager<ProcessManager>
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0) if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0)
{ {
string currentSubProcessStepTriggerID = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName[0]; string currentSubProcessStepTriggerID = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName[0];
if (triggerID == currentSubProcessStepTriggerID) if (triggerName == currentSubProcessStepTriggerID)
{ {
if (isRemove) if (isRemove)
{ {
@ -193,7 +192,15 @@ public class ProcessManager : BaseManager<ProcessManager>
} }
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count == 0) if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count == 0)
{ {
if (triggerID != "工具间按钮" && triggerID != "现场按钮" && triggerID != "收回工具") //if (currentSubProcessIDTemp == d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.subProcessId)
//{
// Debug.Log($"<color=red>子流程id相等</color>");
//}
//else
//{
// Debug.Log($"<color=green>子流程id不相等</color>");
//}
if (triggerName != "工具间按钮" && triggerName != "现场按钮" && triggerName != "收回工具")
{ {
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) => GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) =>
{ {
@ -210,6 +217,7 @@ public class ProcessManager : BaseManager<ProcessManager>
} }
} }
CurrentSubProcessStepTriggerNames(); CurrentSubProcessStepTriggerNames();
return 0; return 0;
} }
else else

View File

@ -48,12 +48,27 @@ public class UI_SubProcessItem : BaseItem
switch (btnName) switch (btnName)
{ {
case "subProcessBtn": case "subProcessBtn":
if (GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0)
{
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System, (p) =>
{
p.Init("提示", "当前步骤还没有学完,确定要切换吗?", E_MessageType.Error, () =>
{
GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID); GameManager.ProcessMgr.HandoverProcess(processID, subProcessID, subProcessStepID);
//ÖØÖÃÎïÌå //ÖØÖÃÎïÌå
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID); StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, subProcessID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, subProcessID); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, subProcessID);
Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID); //Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID);
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID); GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID);
},
() =>
{
GameManager.UIMgr.HidePanel<UI_MessagePanel>();
});
});
}
break; break;
} }
} }

View File

@ -49,16 +49,16 @@ public class UI_MessagePanel : BasePanel
case E_MessageType.Error: case E_MessageType.Error:
GetControl<Image>("Image_NormalBackGround").gameObject.SetActive(true); GetControl<Image>("Image_NormalBackGround").gameObject.SetActive(true);
GetControl<Button>("Button_NormalConfirm").gameObject.SetActive(true); GetControl<Button>("Button_NormalConfirm").gameObject.SetActive(true);
GetControl<Button>("Button_NormalCancel").gameObject.SetActive(true);
GetControl<Image>("Image_WarnBackGround").gameObject.SetActive(false); GetControl<Image>("Image_WarnBackGround").gameObject.SetActive(false);
GetControl<Button>("Button_NormalCancel").gameObject.SetActive(true);
GetControl<Button>("Button_WarmConfirm").gameObject.SetActive(false); GetControl<Button>("Button_WarmConfirm").gameObject.SetActive(false);
break; break;
case E_MessageType.Warning: case E_MessageType.Warning:
GetControl<Image>("Image_WarnBackGround").gameObject.SetActive(true);
GetControl<Button>("Button_WarmConfirm").gameObject.SetActive(true);
GetControl<Image>("Image_NormalBackGround").gameObject.SetActive(false); GetControl<Image>("Image_NormalBackGround").gameObject.SetActive(false);
GetControl<Button>("Button_NormalConfirm").gameObject.SetActive(false); GetControl<Button>("Button_NormalConfirm").gameObject.SetActive(false);
GetControl<Image>("Image_WarnBackGround").gameObject.SetActive(true);
GetControl<Button>("Button_NormalCancel").gameObject.SetActive(false); GetControl<Button>("Button_NormalCancel").gameObject.SetActive(false);
GetControl<Button>("Button_WarmConfirm").gameObject.SetActive(true);
break; break;
} }