修改流程逻辑,修改UI逻辑:UI_LowTensionWorkTicketPanel.cs,UI_MenuBar.cs,UI_SelectWorkTicketPanel.cs,修改数据。

This commit is contained in:
YangHua 2024-08-15 16:40:20 +08:00
parent 7c45a376ce
commit f0836b91b3
19 changed files with 288 additions and 77 deletions

Binary file not shown.

View File

@ -9060,4 +9060,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9afaf08117c8e0b48bf05e12b69562db, type: 3}
m_Name:
m_EditorClassIdentifier:
toolID: 0
triggerID: 5013

View File

@ -977,6 +977,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
ExpandSprite: {fileID: 21300000, guid: 4c690750a2bdfd846b732a727903f291, type: 3}
CollapseSprite: {fileID: 21300000, guid: 352fb2f67e1311f42a17d4be24bd51b6, type: 3}
countDown: 0
workOrderID: 5006
disassemblyAssemblyWorkOrderID: 5007
--- !u!1 &7034408565425647768
GameObject:
m_ObjectHideFlags: 0

View File

@ -241,6 +241,175 @@ MonoBehaviour:
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
--- !u!1 &293571869
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 293571873}
- component: {fileID: 293571872}
- component: {fileID: 293571871}
- component: {fileID: 293571870}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &293571870
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 293571869}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 119
--- !u!114 &293571871
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 293571869}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &293571872
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 293571869}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &293571873
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 293571869}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &678380208
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 678380211}
- component: {fileID: 678380210}
- component: {fileID: 678380209}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &678380209
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 678380208}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
m_Name:
m_EditorClassIdentifier:
m_SendPointerHoverToParent: 1
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &678380210
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 678380208}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &678380211
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 678380208}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &744736104
GameObject:
m_ObjectHideFlags: 0

View File

@ -122,6 +122,7 @@ public class D_SubProcess : I_Enter, I_Exit
{
if (subProcessStepes[i].id == stepId)
{
subProcessStepes[i].GetTriggerID();
return subProcessStepes[i];
}
}

View File

@ -18,18 +18,20 @@ public class D_SubProcessStep : I_Enter, I_Exit
public string tipTitle;
public float score;
public List<int> triggersId = new List<int>();
public List<int> triggersId;
public void Init()
{
GetToolID();
GetTriggerID();
ProcessManager.Instance.subProcessStepTriggerID = triggersId[0];
}
/// <summary>
/// 获取目标ID, (后续 toolID 换成 targetID 应该更好点吧)
/// </summary>
private void GetToolID()
public void GetTriggerID()
{
triggersId = new List<int>();
if (string.IsNullOrEmpty(triggerID)) return;
if (triggerID.Contains(','))
{
@ -40,7 +42,9 @@ public class D_SubProcessStep : I_Enter, I_Exit
}
}
else
{
triggersId.Add(int.Parse(triggerID));
}
}
@ -50,7 +54,7 @@ public class D_SubProcessStep : I_Enter, I_Exit
/// </summary>
public void Enter()
{
GetToolID();
//GetTriggerID();
UnityEngine.Debug.Log("进入当前子流程步骤:" + id + "_" + subProcessStepName);
}
/// <summary>
@ -58,7 +62,8 @@ public class D_SubProcessStep : I_Enter, I_Exit
/// </summary>
public void Exit()
{
triggersId.Clear();
//triggersId.Clear();
//triggersComplete.Clear();
UnityEngine.Debug.Log("退出当前子流程步骤:" + id + "_" + subProcessStepName);
}
}

View File

@ -1,3 +1,4 @@
using HighlightPlus;
using System;
using System.Collections;
using System.Collections.Generic;
@ -7,6 +8,11 @@ using UnityEngine;
/// </summary>
public class OfficeManager : MonoBehaviour
{
public HighlightEffect[] _highlight;
public int currentProcessID;
public int currentSubProcessID;
public int currentSubProcessStepID;
public int currentSubProcessStepTriggerID;
// Start is called before the first frame update
void Start()
{
@ -14,6 +20,9 @@ public class OfficeManager : MonoBehaviour
GameManager.EventMgr.AddEventListener(Enum_EventType.InitializationUI, InitializationUI);
}
private void OfficeTimeLineOver()
{
GameManager.UIMgr.ShowPanel<UI_MaskPanel>(E_UI_Layer.System, (panel) =>

View File

@ -47,7 +47,7 @@ public class ProcessManager : BaseManager<ProcessManager>
/// </summary>
public int subProcessStepId = -1;
public int subProcessStepToolID = -1;
public int subProcessStepTriggerID = -1;
/// <summary>
/// 倒计时,剩余时长
@ -115,23 +115,8 @@ public class ProcessManager : BaseManager<ProcessManager>
/// 切换
/// </summary>
/// <returns></returns>
public bool CheckSubProcessSteps(int subProcessStepID, int subProcessStepTriggerID)
public bool CheckSubProcessSteps(int subProcessStepID)
{
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId.Count > 0)
{
int currentSubProcessStepsToolId = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId[0];
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId == subProcessStepID && subProcessStepTriggerID == currentSubProcessStepsToolId)
{
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepTriggerID, currentSubProcessStepsToolId);
d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId.RemoveAt(0);
return true;
}
else
{
Debug.Log("点击正确的操作");
return false;
}
}
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId.Equals(subProcessStepID))
{
int spStepID = subProcessStepId + 1;
@ -140,6 +125,7 @@ public class ProcessManager : BaseManager<ProcessManager>
{
HandoverSubProcessStep(spStepID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, subProcessStepID);
//GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepTriggerID, subProcessStepTriggerID);
GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) =>
{
panel.Init($"{d_Scheme.CurrentProcess.processName}:<color=blue>{d_Scheme.CurrentProcess.CurrentSubProcess.subProcessName}</color>", $"{d_Scheme.CurrentProcess.CurrentSubProcess.tips}");
@ -154,9 +140,6 @@ public class ProcessManager : BaseManager<ProcessManager>
if (spID <= d_Scheme.CurrentProcess.subProcesses[spCount - 1].id)
{
HandoverSubProcess(spID, 0);
int currentSubProcessStepsToolId = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId[0];
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepTriggerID, currentSubProcessStepsToolId);
d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId.RemoveAt(0);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) =>
@ -173,9 +156,6 @@ public class ProcessManager : BaseManager<ProcessManager>
if (pID <= d_Scheme.processes[pCount - 1].id)
{
HandoverProcess(pID, 0, 0);
int currentSubProcessStepsToolId = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId[0];
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepTriggerID, currentSubProcessStepsToolId);
d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId.RemoveAt(0);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) =>
@ -206,6 +186,34 @@ public class ProcessManager : BaseManager<ProcessManager>
}
/// <summary>
/// 0 正常1 不在当前步骤触发ID2 当前步骤没有触发ID了
/// </summary>
/// <param name="triggerID"></param>
/// <returns></returns>
public int IsRightSubProcessStepsTriggerID(int triggerID, bool isRemove)
{
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId.Count > 0)
{
int currentSubProcessStepTriggerID = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId[0];
if (triggerID == currentSubProcessStepTriggerID)
{
//GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepTriggerID, currentSubProcessStepTriggerID);
if (isRemove)
d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId.RemoveAt(0);
return 0;
}
else
{
Debug.Log($"<color=red>currentSubProcessStepsToolId=={currentSubProcessStepTriggerID}</color>");
return 1;
}
}
else
{
return 2;
}
}
/// <summary>
/// 倒计时

View File

@ -0,0 +1,9 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DeviceTriggerBase : MonoBehaviour
{
public int triggerID;
public string triggerName;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 26c6b5bd2f9bf6a428459fce1c30cff5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -8,13 +8,10 @@ using UnityEngine.EventSystems;
public class Device_Mobile : MonoBehaviour
{
public int downIndex = 0;
public int modelID = 5005;
public int currentSubProcessStepID = -1;
//public List<int> subProcessStepID = new List<int>();
public int triggerID = 5005;
private HighlightEffect _highlight;
private void Awake()
{
//subProcessStepID = GameManager.DataMgr.GetSubProcessStepIDByToolID(modelID);
_highlight = GetComponent<HighlightEffect>();
}
private void Start()
@ -22,9 +19,10 @@ public class Device_Mobile : MonoBehaviour
GameManager.EventMgr.AddEventListener<int>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
}
private void SwitchSubProcessStepTriggerID(int arg0)
{
if (modelID == arg0)
if (triggerID == arg0)
{
_highlight.highlighted = true;
Debug.Log("ÎÒÓ¦¸ÃÌáʾ");
@ -32,7 +30,6 @@ public class Device_Mobile : MonoBehaviour
}
private void OnMouseDown()
{
if (EventSystem.current.IsPointerOverGameObject()) return;
@ -40,19 +37,18 @@ public class Device_Mobile : MonoBehaviour
{
case 0:
_highlight.highlighted = false;
GameManager.UIMgr.ShowPanel<UI_ReceiveTaskPanel>(E_UI_Layer.Mid, (panel) =>
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerID, false) == 0)
{
panel.Init(modelID);
});
downIndex++;
GameManager.UIMgr.ShowPanel<UI_ReceiveTaskPanel>(E_UI_Layer.Mid, (panel) =>
{
panel.Init(triggerID);
});
downIndex++;
}
break;
case 1:
//GameManager.UIMgr.ShowPanel<UI_SelectWorkTicketPanel>(E_UI_Layer.Mid, (panel) =>
//{
// panel.Init(modelID);
//});
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId, modelID);
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
_highlight.highlighted = false;
downIndex = 0;
break;

View File

@ -10,7 +10,7 @@ public class UI_SubProcessItem : BaseItem
public int subProcessID;
public int subProcessStepID;
public void Init(D_SubProcess d_SubProcess,int subProcessID)
public void Init(D_SubProcess d_SubProcess, int subProcessID)
{
this.processID = d_SubProcess.processId;
this.subProcessID = d_SubProcess.id;
@ -19,6 +19,7 @@ public class UI_SubProcessItem : BaseItem
gameObject.name = subProcessID.ToString();
SwitchSubProcess(subProcessID);
ShowMe();
}
public override void ShowMe()

View File

@ -3,11 +3,11 @@ using UnityEngine;
public class UI_LowTensionWorkTicketPanel : BasePanel
{
public int triggerID;
public void Init(int triggerID)
{
this.triggerID = triggerID;
}
public int triggerID = 5013;
//public void Init(int triggerID)
//{
// this.triggerID = triggerID;
//}
public override void ShowMe()
{
@ -28,8 +28,11 @@ public class UI_LowTensionWorkTicketPanel : BasePanel
GameManager.UIMgr.HidePanel<UI_LowTensionWorkTicketPanel>();
break;
case "ConfirmBtn":
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId, triggerID);
GameManager.UIMgr.HidePanel<UI_LowTensionWorkTicketPanel>();
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerID, true) == 0)
{
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
GameManager.UIMgr.HidePanel<UI_LowTensionWorkTicketPanel>();
}
break;
default:
break;

View File

@ -119,19 +119,25 @@ public class UI_MenuBar : BasePanel
SceneManager.LoadScene("");
break;
case "WorkOrderBtn":
GameManager.UIMgr.ShowPanel<UI_SelectWorkTicketPanel>(E_UI_Layer.Mid, (panel) =>
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(workOrderID, false) == 0)
{
panel.Init(workOrderID);
});
GameManager.UIMgr.ShowPanel<UI_SelectWorkTicketPanel>(E_UI_Layer.Mid, (panel) =>
{
panel.Init(workOrderID);
});
}
break;
case "WorkTicketBtn":
break;
case "DisassemblyAssemblyWorkOrderBtn":
GameManager.UIMgr.ShowPanel<UI_InstallAndDismantleTicketPanel>(E_UI_Layer.Mid, (panel) =>
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(disassemblyAssemblyWorkOrderID, false) == 0)
{
GameManager.UIMgr.ShowPanel<UI_InstallAndDismantleTicketPanel>(E_UI_Layer.Mid, (panel) =>
{
panel.Init(disassemblyAssemblyWorkOrderID);
});
}
break;
default:
break;

View File

@ -5,18 +5,21 @@ using UnityEngine.UI;
public class UI_ReceiveTaskPanel : BasePanel
{
public int toolID;
public void Init(int toolID)
public int triggerID;
public void Init(int triggerID)
{
this.toolID = toolID;
this.triggerID = triggerID;
}
protected override void OnClick(string btnName)
{
switch (btnName)
{
case "Button_Accept":
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId, toolID);
GameManager.UIMgr.HidePanel<UI_ReceiveTaskPanel>();
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerID, true) == 0)
{
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
GameManager.UIMgr.HidePanel<UI_ReceiveTaskPanel>();
}
break;
}
}

View File

@ -35,8 +35,7 @@ public class UI_SelectWorkTicketPanel : BasePanel
UIManager.Instance.HidePanel<UI_SelectWorkTicketPanel>();
GameManager.UIMgr.ShowPanel<UI_LowTensionWorkTicketPanel>(E_UI_Layer.Mid, (p) =>
{
p.Init(triggerID);
GameManager.ProcessMgr.CheckSubProcessSteps(ProcessManager.Instance.subProcessStepId, triggerID);
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
});
Debug.Log("选择了正确选项F进行下一个面板");
}
@ -48,8 +47,7 @@ public class UI_SelectWorkTicketPanel : BasePanel
Debug.Log("错误三次了,直接进行下一个面板");
GameManager.UIMgr.ShowPanel<UI_LowTensionWorkTicketPanel>(E_UI_Layer.Mid, (p) =>
{
p.Init(triggerID);
GameManager.ProcessMgr.CheckSubProcessSteps(ProcessManager.Instance.subProcessStepId, triggerID);
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
});
}
}

View File

@ -30,15 +30,4 @@ public class UI_TaskListPanel : BasePanel
});
});
}
//private void CreateSubProcessItem(UI_SubProcessItem sTemp)
//{
// D_Scheme d_Scheme = GameManager.ProcessMgr.d_Scheme;
// for (int i = 0; i < d_Scheme.processes.Count; i++)
// {
// var t = Instantiate(_processItem, _content);
// t.Init(d_Scheme.processes[i],sTemp);
// }
//}
}