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);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
//Debug.Log($"<color=red>进入下一步子流程</color>");
//Debug.Log("进入下一步子流程");
return true;
}
@ -171,13 +170,13 @@ public class ProcessManager : BaseManager<ProcessManager>
}
}
//public int currentSubProcessIDTemp = 0;
/// <summary>
/// 0 正常1 不在当前步骤触发ID2 当前步骤没有触发ID了
/// </summary>
/// <param name="triggerID"></param>
/// <param name="triggerName"></param>
/// <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 (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)
{
string currentSubProcessStepTriggerID = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName[0];
if (triggerID == currentSubProcessStepTriggerID)
if (triggerName == currentSubProcessStepTriggerID)
{
if (isRemove)
{
@ -193,7 +192,15 @@ public class ProcessManager : BaseManager<ProcessManager>
}
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) =>
{
@ -210,6 +217,7 @@ public class ProcessManager : BaseManager<ProcessManager>
}
}
CurrentSubProcessStepTriggerNames();
return 0;
}
else

View File

@ -48,12 +48,27 @@ public class UI_SubProcessItem : BaseItem
switch (btnName)
{
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);
//ÖØÖÃÎïÌå
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);
//Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID);
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID);
},
() =>
{
GameManager.UIMgr.HidePanel<UI_MessagePanel>();
});
});
}
break;
}
}

View File

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