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_Enabled: 1
m_Radius: 0.5
m_Height: 1
m_Height: 2
m_Direction: 1
m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &7005868485670428847
@ -237,7 +237,7 @@ MonoBehaviour:
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_RendererIndex: 1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1

View File

@ -249,10 +249,6 @@ PrefabInstance:
propertyPath: m_Name
value: Player
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}
propertyPath: m_RootOrder
value: 7
@ -297,18 +293,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 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_SourcePrefab: {fileID: 100100000, guid: 86a8666f9623b6b46b8f4b860a11546f, type: 3}
--- !u!1 &267617285 stripped

View File

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

View File

@ -20,18 +20,30 @@ public class D_SubProcessStep : I_Enter, I_Exit
public List<int> toolsId = new List<int>();
public void Init()
{
GetToolID();
}
/// <summary>
/// 获取目标ID, (后续 toolID 换成 targetID 应该更好点吧)
/// </summary>
private void GetToolID()
{
if (string.IsNullOrEmpty(toolId)) return;
if (toolId.Contains(','))
{
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>
public void Enter()
{
GetToolID();
UnityEngine.Debug.Log("进入当前子流程步骤:" + id + "_" + subProcessStepName);
}
/// <summary>
@ -47,6 +60,7 @@ public class D_SubProcessStep : I_Enter, I_Exit
/// </summary>
public void Exit()
{
toolsId.Clear();
UnityEngine.Debug.Log("退出当前子流程步骤:" + id + "_" + subProcessStepName);
}
}

View File

@ -115,13 +115,22 @@ public class ProcessManager : BaseManager<ProcessManager>
/// 切换
/// </summary>
/// <returns></returns>
public bool CheckSubProcessSteps(int subProcessStepID,int subProcessStepToolID)
public bool CheckSubProcessSteps(int subProcessStepID, int subProcessStepToolID)
{
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStepId.Equals(subProcessStepID))
{
int spStepID = subProcessStepId + 1;
int spStepcount = d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes.Count;
if (spStepID <= d_Scheme.CurrentProcess.CurrentSubProcess.subProcessStepes[spStepcount - 1].id)
{
if (d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.toolsId.Count > 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);
return true;
}
else
{
HandoverSubProcessStep(spStepID);
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcessStep, subProcessStepID);
@ -132,6 +141,7 @@ public class ProcessManager : BaseManager<ProcessManager>
Debug.Log("进入下一步子流程步骤");
return true;
}
}
else
{
int spCount = d_Scheme.CurrentProcess.subProcesses.Count;
@ -139,6 +149,9 @@ public class ProcessManager : BaseManager<ProcessManager>
if (spID <= d_Scheme.CurrentProcess.subProcesses[spCount - 1].id)
{
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.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
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)
{
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.SwitchSubProcess, d_Scheme.CurrentProcess.CurrentSubProcessId);
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 modelID = 5005;
public List<int> subProcessStepID = new List<int>();
//public List<int> subProcessStepID = new List<int>();
private HighlightEffect _highlight;
private void Awake()
{
subProcessStepID = GameManager.DataMgr.GetSubProcessStepIDByToolID(modelID);
//subProcessStepID = GameManager.DataMgr.GetSubProcessStepIDByToolID(modelID);
_highlight = GetComponent<HighlightEffect>();
}
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;
Debug.Log("ÎÒÓ¦¸ÃÌáʾ");
@ -36,15 +36,22 @@ public class Device_Mobile : MonoBehaviour
switch (downIndex)
{
case 0:
if (GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId, modelID))
{
_highlight.highlighted = false;
}
GameManager.UIMgr.ShowPanel<UI_ReceiveTaskPanel>(E_UI_Layer.Mid, (panel) =>
{
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;
//case 1:
// if (GameManager.ProcessMgr.CheckSubProcessSteps(4002))
// downIndex++;
// break;
//case 2:
// if (GameManager.ProcessMgr.CheckSubProcessSteps(4003))
// downIndex++;
@ -67,10 +74,6 @@ public class Device_Mobile : MonoBehaviour
// break;
}
}
private void Update()
{
}
private void OnMouseExit()
@ -80,6 +83,6 @@ public class Device_Mobile : MonoBehaviour
private void OnDestroy()
{
GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcessStep, SwitchSubProcess);
GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcessStepToolID, SwitchSubProcessStepToolID);
}
}

View File

@ -3,13 +3,12 @@ using UnityEngine;
public class UI_LowTensionWorkTicketPanel : BasePanel
{
public void Init()
public int toolID;
public void Init(int toolID)
{
this.toolID = toolID;
}
void Start()
{
}
public override void ShowMe()
{

View File

@ -5,17 +5,18 @@ using UnityEngine.UI;
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)
{
switch (btnName)
{
case "Button_Accept":
Debug.Log("1");
GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId, toolID);
GameManager.UIMgr.HidePanel<UI_ReceiveTaskPanel>();
break;
}
}

View File

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

View File

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