This commit is contained in:
jiangbingqing 2024-08-14 16:10:20 +08:00
commit 9a16019d10
13 changed files with 293 additions and 105 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -124,7 +124,7 @@ CapsuleCollider:
m_IsTrigger: 0 m_IsTrigger: 0
m_Enabled: 1 m_Enabled: 1
m_Radius: 0.5 m_Radius: 0.5
m_Height: 1 m_Height: 2
m_Direction: 1 m_Direction: 1
m_Center: {x: 0, y: 0, z: 0} m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &7005868485670428847 --- !u!33 &7005868485670428847
@ -237,7 +237,7 @@ MonoBehaviour:
m_RequiresOpaqueTextureOption: 2 m_RequiresOpaqueTextureOption: 2
m_CameraType: 0 m_CameraType: 0
m_Cameras: [] m_Cameras: []
m_RendererIndex: -1 m_RendererIndex: 1
m_VolumeLayerMask: m_VolumeLayerMask:
serializedVersion: 2 serializedVersion: 2
m_Bits: 1 m_Bits: 1

View File

@ -249,10 +249,6 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Player value: Player
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 2399593117452945565, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2399593117452945566, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} - target: {fileID: 2399593117452945566, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 7 value: 7
@ -297,18 +293,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 2399593117623680743, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
propertyPath: m_RendererIndex
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2399593117846495250, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3910755197489471127, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
propertyPath: m_Height
value: 2
objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
--- !u!1 &267617285 stripped --- !u!1 &267617285 stripped

View File

@ -95,6 +95,7 @@ public class D_SubProcess : I_Enter, I_Exit
if (subProcessStepes == null || subProcessStepes.Count == 0) if (subProcessStepes == null || subProcessStepes.Count == 0)
return; return;
CurrentSubProcessStep = subProcessStepes[0]; CurrentSubProcessStep = subProcessStepes[0];
currentSubProcessStep.Init();
} }
} }

View File

@ -20,17 +20,29 @@ public class D_SubProcessStep : I_Enter, I_Exit
public List<int> toolsId = new List<int>(); public List<int> toolsId = new List<int>();
public void Init() public void Init()
{
GetToolID();
}
/// <summary>
/// 获取目标ID, (后续 toolID 换成 targetID 应该更好点吧)
/// </summary>
private void GetToolID()
{ {
if (string.IsNullOrEmpty(toolId)) return; if (string.IsNullOrEmpty(toolId)) return;
string[] toolIdTemp = toolId.Split(','); if (toolId.Contains(','))
for (int i = 0; i < toolIdTemp.Length; i++)
{ {
toolsId.Add(int.Parse(toolIdTemp[i])); string[] toolIdTemp = toolId.Split(',');
for (int i = 0; i < toolIdTemp.Length; i++)
{
toolsId.Add(int.Parse(toolIdTemp[i]));
}
} }
else
toolsId.Add(int.Parse(toolId));
} }
@ -40,6 +52,7 @@ public class D_SubProcessStep : I_Enter, I_Exit
/// </summary> /// </summary>
public void Enter() public void Enter()
{ {
GetToolID();
UnityEngine.Debug.Log("进入当前子流程步骤:" + id + "_" + subProcessStepName); UnityEngine.Debug.Log("进入当前子流程步骤:" + id + "_" + subProcessStepName);
} }
/// <summary> /// <summary>
@ -47,6 +60,7 @@ public class D_SubProcessStep : I_Enter, I_Exit
/// </summary> /// </summary>
public void Exit() public void Exit()
{ {
toolsId.Clear();
UnityEngine.Debug.Log("退出当前子流程步骤:" + id + "_" + subProcessStepName); UnityEngine.Debug.Log("退出当前子流程步骤:" + id + "_" + subProcessStepName);
} }
} }

View File

@ -115,7 +115,7 @@ public class ProcessManager : BaseManager<ProcessManager>
/// 切换 /// 切换
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public bool CheckSubProcessSteps(int subProcessStepID,int subProcessStepToolID) public bool CheckSubProcessSteps(int subProcessStepID, int subProcessStepToolID)
{ {
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId.Equals(subProcessStepID)) if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId.Equals(subProcessStepID))
{ {
@ -123,14 +123,24 @@ public class ProcessManager : BaseManager<ProcessManager>
int spStepcount = d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes.Count; int spStepcount = d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes.Count;
if (spStepID <= d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes[spStepcount - 1].id) if (spStepID <= d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes[spStepcount - 1].id)
{ {
HandoverSubProcessStep(spStepID); if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId.Count > 0)
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, subProcessStepID);
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}"); int currentSubProcessStepsToolId = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId[0];
}); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepToolID, currentSubProcessStepsToolId);
Debug.Log("进入下一步子流程步骤"); d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId.RemoveAt(0);
return true; return true;
}
else
{
HandoverSubProcessStep(spStepID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, subProcessStepID);
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}");
});
Debug.Log("进入下一步子流程步骤");
return true;
}
} }
else else
{ {
@ -139,6 +149,9 @@ public class ProcessManager : BaseManager<ProcessManager>
if (spID <= d_Scheme.CurrentProcess.subProcesses[spCount - 1].id) if (spID <= d_Scheme.CurrentProcess.subProcesses[spCount - 1].id)
{ {
HandoverSubProcess(spID, 0); HandoverSubProcess(spID, 0);
int currentSubProcessStepsToolId = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId[0];
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepToolID, currentSubProcessStepsToolId);
d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId.RemoveAt(0);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) => GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) =>
@ -155,6 +168,9 @@ public class ProcessManager : BaseManager<ProcessManager>
if (pID <= d_Scheme.processes[pCount - 1].id) if (pID <= d_Scheme.processes[pCount - 1].id)
{ {
HandoverProcess(pID, 0, 0); HandoverProcess(pID, 0, 0);
int currentSubProcessStepsToolId = d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId[0];
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStepToolID, currentSubProcessStepsToolId);
d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId.RemoveAt(0);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId); GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) => GameManager.UIMgr.ShowPanel<UI_TopTipPanel>(E_UI_Layer.System, (panel) =>

View File

@ -8,21 +8,21 @@ public class Device_Mobile : MonoBehaviour
{ {
public int downIndex = 0; public int downIndex = 0;
public int modelID = 5005; public int modelID = 5005;
public List<int> subProcessStepID = new List<int>(); //public List<int> subProcessStepID = new List<int>();
private HighlightEffect _highlight; private HighlightEffect _highlight;
private void Awake() private void Awake()
{ {
subProcessStepID = GameManager.DataMgr.GetSubProcessStepIDByToolID(modelID); //subProcessStepID = GameManager.DataMgr.GetSubProcessStepIDByToolID(modelID);
_highlight = GetComponent<HighlightEffect>(); _highlight = GetComponent<HighlightEffect>();
} }
private void Start() private void Start()
{ {
GameManager.EventMgr.AddEventListener<int>(Enum_EventType.SwitchSubProcessStep, SwitchSubProcess); GameManager.EventMgr.AddEventListener<int>(Enum_EventType.SwitchSubProcessStepToolID, SwitchSubProcessStepToolID);
} }
private void SwitchSubProcess(int arg0) private void SwitchSubProcessStepToolID(int arg0)
{ {
if (subProcessStepID.Contains(arg0)) if (modelID == arg0)
{ {
_highlight.highlighted = true; _highlight.highlighted = true;
Debug.Log("ÎÒÓ¦¸ÃÌáʾ"); Debug.Log("ÎÒÓ¦¸ÃÌáʾ");
@ -36,15 +36,22 @@ public class Device_Mobile : MonoBehaviour
switch (downIndex) switch (downIndex)
{ {
case 0: case 0:
if (GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId, modelID)) _highlight.highlighted = false;
GameManager.UIMgr.ShowPanel<UI_ReceiveTaskPanel>(E_UI_Layer.Mid, (panel) =>
{ {
_highlight.highlighted = false; panel.Init(modelID);
} });
downIndex++;
break;
case 1:
GameManager.UIMgr.ShowPanel<UI_SelectWorkTicketPanel>(E_UI_Layer.Mid, (panel) =>
{
panel.Init(modelID);
});
_highlight.highlighted = false;
downIndex = 0;
break; break;
//case 1:
// if (GameManager.ProcessMgr.CheckSubProcessSteps(4002))
// downIndex++;
// break;
//case 2: //case 2:
// if (GameManager.ProcessMgr.CheckSubProcessSteps(4003)) // if (GameManager.ProcessMgr.CheckSubProcessSteps(4003))
// downIndex++; // downIndex++;
@ -67,10 +74,6 @@ public class Device_Mobile : MonoBehaviour
// break; // break;
} }
}
private void Update()
{
} }
private void OnMouseExit() private void OnMouseExit()
@ -80,6 +83,6 @@ public class Device_Mobile : MonoBehaviour
private void OnDestroy() private void OnDestroy()
{ {
GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcessStep, SwitchSubProcess); GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcessStepToolID, SwitchSubProcessStepToolID);
} }
} }

View File

@ -3,14 +3,13 @@ using UnityEngine;
public class UI_LowTensionWorkTicketPanel : BasePanel public class UI_LowTensionWorkTicketPanel : BasePanel
{ {
public void Init() public int toolID;
{ public void Init(int toolID)
}
void Start()
{ {
this.toolID = toolID;
} }
public override void ShowMe()
public override void ShowMe()
{ {
} }
@ -20,7 +19,7 @@ public void Init()
} }
protected override void OnClick(string btnName) protected override void OnClick(string btnName)
{ {
switch (btnName) switch (btnName)

View File

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

View File

@ -6,10 +6,12 @@ using UnityEngine.UI;
public class UI_SelectWorkTicketPanel : BasePanel public class UI_SelectWorkTicketPanel : BasePanel
{ {
private int number=0; private int number = 0;
public void Init() public int toolID;
public void Init(int toolID)
{ {
number = 0; number = 0;
this.toolID = toolID;
} }
protected override void OnClick(string btnName) protected override void OnClick(string btnName)
@ -27,14 +29,23 @@ public class UI_SelectWorkTicketPanel : BasePanel
GetControl<Text>("Text_True").gameObject.SetActive(true); GetControl<Text>("Text_True").gameObject.SetActive(true);
if (GetControl<Toggle>("ImageF").isOn) if (GetControl<Toggle>("ImageF").isOn)
{ {
UIManager.Instance.HidePanel<UI_SelectWorkTicketPanel>();
GameManager.UIMgr.ShowPanel<UI_LowTensionWorkTicketPanel>(E_UI_Layer.Mid, (p) =>
{
p.Init(toolID);
});
Debug.Log("选择了正确选项F进行下一个面板"); Debug.Log("选择了正确选项F进行下一个面板");
} }
else else
{ {
if (number == 3) if (number == 3)
{ {
Debug.Log("错误三次了,直接进行下一个面板");
UIManager.Instance.HidePanel<UI_SelectWorkTicketPanel>(); UIManager.Instance.HidePanel<UI_SelectWorkTicketPanel>();
Debug.Log("错误三次了,直接进行下一个面板");
GameManager.UIMgr.ShowPanel<UI_LowTensionWorkTicketPanel>(E_UI_Layer.Mid, (p) =>
{
p.Init(toolID);
});
} }
} }
break; break;
@ -74,7 +85,7 @@ public class UI_SelectWorkTicketPanel : BasePanel
case "ImageC": case "ImageC":
Reduction(); Reduction();
GetControl<Image>("Image_CNoSelected").gameObject.SetActive(false); GetControl<Image>("Image_CNoSelected").gameObject.SetActive(false);
Debug.Log("name"+toogleName); Debug.Log("name" + toogleName);
break; break;
case "ImageD": case "ImageD":
Reduction(); Reduction();

View File

@ -37,4 +37,9 @@ public enum Enum_EventType
/// 切换子流程 /// 切换子流程
/// </summary> /// </summary>
SwitchSubProcess, SwitchSubProcess,
/// <summary>
/// 切换目标工具ID
/// </summary>
SwitchSubProcessStepToolID,
} }