This commit is contained in:
taosuqi 2024-08-30 09:09:58 +08:00
commit 517e0b1899
18 changed files with 252 additions and 133 deletions

View File

@ -67,7 +67,7 @@ TextureImporter:
platformSettings: platformSettings:
- serializedVersion: 3 - serializedVersion: 3
buildTarget: DefaultTexturePlatform buildTarget: DefaultTexturePlatform
maxTextureSize: 8192 maxTextureSize: 64
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 textureFormat: -1
textureCompression: 1 textureCompression: 1

View File

@ -13,6 +13,10 @@ public class Device_Base : PermanentTriggerBase
/// trigger触发事件 /// trigger触发事件
/// </summary> /// </summary>
public Func<string, bool, int> triggerAction; public Func<string, bool, int> triggerAction;
/// <summary>
/// 是否正在移动
/// </summary>
public bool isMoving;
private Vector3 head_LocalPos; private Vector3 head_LocalPos;
private Vector3 head_LocalEulerAnglesl; private Vector3 head_LocalEulerAnglesl;
@ -55,6 +59,15 @@ public class Device_Base : PermanentTriggerBase
this.triggerAction = action; this.triggerAction = action;
} }
public void AddStartAction(Action callback)
{
startAction += callback;
}
public void AddEndAction(Action callback)
{
endAction += callback;
}
/// <summary> /// <summary>
/// 设置工具回到手中的位置 /// 设置工具回到手中的位置
/// </summary> /// </summary>

View File

@ -184,11 +184,13 @@ public class Device_3Phase4WireMeter : Device_Base
//拆下电能表 //拆下电能表
if (!fix_screw_left.isInstall && !fix_screw_right.isInstall) if (!fix_screw_left.isInstall && !fix_screw_right.isInstall)
{ {
startAction?.Invoke();
SiteManager.instance.measuringCabinet.meteringDevice = null; SiteManager.instance.measuringCabinet.meteringDevice = null;
Debug.Log("电能表已拆除"); Debug.Log("电能表已拆除");
transform.DOLocalMove(transform.localPosition - new Vector3(0, 0.2f, 0.2f), 2).OnComplete(() => transform.DOLocalMove(transform.localPosition - new Vector3(0, 0.2f, 0.2f), 2).OnComplete(() =>
{ {
CallScoreAction(false); CallScoreAction(false);
endAction?.Invoke();
gameObject.SetActive(false); gameObject.SetActive(false);
}); });
} }
@ -203,6 +205,7 @@ public class Device_3Phase4WireMeter : Device_Base
SiteManager.instance.measuringCabinet.meteringDevice = this; SiteManager.instance.measuringCabinet.meteringDevice = this;
//默认是拆除的状态 //默认是拆除的状态
Init(false); Init(false);
startAction?.Invoke();
transform.DOLocalMove(new Vector3(0.1469002f, -0.1793365f, 0.5191498f), 2).OnStart(() => transform.DOLocalMove(new Vector3(0.1469002f, -0.1793365f, 0.5191498f), 2).OnStart(() =>
{ {
transform.localEulerAngles = Vector3.zero; transform.localEulerAngles = Vector3.zero;
@ -211,6 +214,7 @@ public class Device_3Phase4WireMeter : Device_Base
LiveSceneManager.Instance.currentTool = null; LiveSceneManager.Instance.currentTool = null;
Debug.Log("电能表已安装"); Debug.Log("电能表已安装");
CallScoreAction(true); CallScoreAction(true);
endAction?.Invoke();
}); });
} }
} }

View File

@ -31,59 +31,79 @@ public class Device_Cover : Device_Base
protected override void OnMDown() protected override void OnMDown()
{ {
base.OnMDown(); base.OnMDown();
if (!isMoving)
{
if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0) if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0)
{ {
isCheckOK = true; isCheckOK = true;
if (!isOpen) if (!isOpen)
{ {
//螺丝都拧松才能拆盖子
if (!cover_screw_Left.isInstall && !cover_screw_Right.isInstall) if (!cover_screw_Left.isInstall && !cover_screw_Right.isInstall)
{ {
Open(); Open();
} }
} }
else if (isOpen) else
{ {
Close(); Close();
} }
} }
} }
}
/// <summary> /// <summary>
/// 打开盖子 /// 打开盖子
/// </summary> /// </summary>
public void Open() public void Open()
{ {
//盖子螺丝不在动才能动盖子
if (!cover_screw_Left.isMoving && !cover_screw_Right.isMoving)
{
isMoving = true;
Debug.Log("打开盖子"); Debug.Log("打开盖子");
isOpen = true; startAction?.Invoke();
Transform parent = cover_screw_Left.transform.parent; Transform parent = cover_screw_Left.transform.parent;
cover_screw_Left.transform.parent = transform; cover_screw_Left.transform.parent = transform;
cover_screw_Right.transform.parent = transform; cover_screw_Right.transform.parent = transform;
transform.DOLocalMove(new Vector3(transform.localPosition.x, -0.1388763f, -0.2485413f), 2).OnComplete(() => transform.DOLocalMove(new Vector3(transform.localPosition.x, -0.1388763f, -0.2485413f), 2).OnComplete(() =>
{ {
isOpen = true;
cover_screw_Left.transform.parent = parent; cover_screw_Left.transform.parent = parent;
cover_screw_Right.transform.parent = parent; cover_screw_Right.transform.parent = parent;
isMoving = false;
int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
endAction?.Invoke();
}); });
} }
}
/// <summary> /// <summary>
/// 盖上盖子 /// 盖上盖子
/// </summary> /// </summary>
public void Close() public void Close()
{ {
//盖子螺丝不在动才能动盖子
if (!cover_screw_Left.isMoving && !cover_screw_Right.isMoving)
{
isMoving=true;
Debug.Log("盖上盖子"); Debug.Log("盖上盖子");
isOpen = false; startAction?.Invoke();
Transform parent = cover_screw_Left.transform.parent; Transform parent = cover_screw_Left.transform.parent;
cover_screw_Left.transform.parent = transform; cover_screw_Left.transform.parent = transform;
cover_screw_Right.transform.parent = transform; cover_screw_Right.transform.parent = transform;
transform.DOLocalMove(new Vector3(transform.localPosition.x, 0.01112366f, -0.09854126f), 2).OnComplete(() => transform.DOLocalMove(new Vector3(transform.localPosition.x, 0.01112366f, -0.09854126f), 2).OnComplete(() =>
{ {
isOpen = false;
cover_screw_Left.transform.parent = parent; cover_screw_Left.transform.parent = parent;
cover_screw_Right.transform.parent = parent; cover_screw_Right.transform.parent = parent;
isMoving = false;
int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); int result = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
endAction?.Invoke();
}); });
} }
} }
}

View File

@ -34,6 +34,7 @@ public class Device_NamePlate : Device_Base
GameObject tip = Instantiate<GameObject>(checkUiPrefb, GameManager.UIMgr.canvas.transform); GameObject tip = Instantiate<GameObject>(checkUiPrefb, GameManager.UIMgr.canvas.transform);
ProcessTipPanel processTipPanel = tip.GetComponent<ProcessTipPanel>(); ProcessTipPanel processTipPanel = tip.GetComponent<ProcessTipPanel>();
startAction?.Invoke();
//¿ªÊ¼×ß½ø¶È //¿ªÊ¼×ß½ø¶È
processTipPanel.StartProcess(result => processTipPanel.StartProcess(result =>
{ {
@ -49,6 +50,7 @@ public class Device_NamePlate : Device_Base
} }
int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true));
CallScoreAction(); CallScoreAction();
endAction?.Invoke();
} }
}); });
} }

View File

@ -23,6 +23,7 @@ public class Device_CabinetDoor : Device_Base
public void Open() public void Open()
{ {
Debug.Log("开门"); Debug.Log("开门");
startAction?.Invoke();
//开锁 //开锁
transform.Find("计量柜锁2/计量柜锁3").DOLocalRotate(new Vector3(-45f, 0, 0), 1).OnComplete(() => transform.Find("计量柜锁2/计量柜锁3").DOLocalRotate(new Vector3(-45f, 0, 0), 1).OnComplete(() =>
{ {
@ -30,12 +31,14 @@ public class Device_CabinetDoor : Device_Base
transform.DOLocalRotate(new Vector3(0, 0, 180), 3).OnComplete(() => transform.DOLocalRotate(new Vector3(0, 0, 180), 3).OnComplete(() =>
{ {
isOpen = true; isOpen = true;
endAction?.Invoke();
}); });
}); });
} }
public void Close() public void Close()
{ {
Debug.Log("关门"); Debug.Log("关门");
startAction?.Invoke();
//关门 //关门
transform.DOLocalRotate(new Vector3(0, 0, 0), 3).OnComplete(() => transform.DOLocalRotate(new Vector3(0, 0, 0), 3).OnComplete(() =>
{ {
@ -43,6 +46,7 @@ public class Device_CabinetDoor : Device_Base
transform.Find("计量柜锁2/计量柜锁3").DOLocalRotate(new Vector3(0, 0, 0), 1).OnComplete(() => transform.Find("计量柜锁2/计量柜锁3").DOLocalRotate(new Vector3(0, 0, 0), 1).OnComplete(() =>
{ {
isOpen = false; isOpen = false;
endAction?.Invoke();
}); });
}); });
} }

View File

@ -65,7 +65,14 @@ public class Tool_Base : PermanentTriggerBase
{ {
this.triggerAction = action; this.triggerAction = action;
} }
public void AddStartAction(Action callback)
{
startAction += callback;
}
public void AddEndAction(Action callback)
{
endAction += callback;
}
/// <summary> /// <summary>
/// 设置工具回到手中的位置 /// 设置工具回到手中的位置
/// </summary> /// </summary>
@ -90,6 +97,7 @@ public class Tool_Base : PermanentTriggerBase
transform.localPosition = head_LocalPos; transform.localPosition = head_LocalPos;
transform.localEulerAngles = head_LocalEulerAnglesl; transform.localEulerAngles = head_LocalEulerAnglesl;
isMoving = false; isMoving = false;
endAction?.Invoke();
}); });
} }
} }

View File

@ -27,12 +27,6 @@ public class Tool_Screw : Tool_Base
/// </summary> /// </summary>
public bool hasElectricity; public bool hasElectricity;
/// <summary>
/// 正在移动不能操作
/// </summary>
private bool isMoving;
/// <summary> /// <summary>
/// 安装状态时Y的local值 /// 安装状态时Y的local值
/// </summary> /// </summary>
@ -60,15 +54,6 @@ public class Tool_Screw : Tool_Base
/// </summary> /// </summary>
/// <param name="screwdriver"></param> /// <param name="screwdriver"></param>
public void BeInstalled(Tool_Screwdriver screwdriver) public void BeInstalled(Tool_Screwdriver screwdriver)
{
if (!isMoving)
{
isMoving = true;
Debug.Log("开始拧紧螺丝");
//设置螺丝刀初始位置
screwdriver.transform.parent = null;
screwdriver.transform.DOLocalRotate(installPos.localEulerAngles, 0.5f);
screwdriver.transform.DOMove(installPos.position, 1).OnComplete(() =>
{ {
//动画 //动画
transform.DOLocalMoveY(initPostionY, 1) transform.DOLocalMoveY(initPostionY, 1)
@ -83,13 +68,11 @@ public class Tool_Screw : Tool_Base
Debug.Log("螺丝已拧紧"); Debug.Log("螺丝已拧紧");
isInstall = true; isInstall = true;
isMoving = false; isMoving = false;
screwdriver.isMoving = false;
installAction?.Invoke(true); installAction?.Invoke(true);
screwdriver.ReBackHead(); screwdriver.ReBackHead();
screwdriver.isMoving = false;
CallScoreAction(true); CallScoreAction(true);
}); });
});
}
} }
/// <summary> /// <summary>
@ -97,15 +80,6 @@ public class Tool_Screw : Tool_Base
/// </summary> /// </summary>
/// <param name="screwdriver"></param> /// <param name="screwdriver"></param>
public void BeUnInstalled(Tool_Screwdriver screwdriver) public void BeUnInstalled(Tool_Screwdriver screwdriver)
{
if (!isMoving)
{
isMoving = true;
Debug.Log("开始卸螺丝");
//设置螺丝刀初始位置
screwdriver.transform.parent = null;
screwdriver.transform.DOLocalRotate(installPos.localEulerAngles, 0.5f);
screwdriver.transform.DOMove(installPos.position, 1).OnComplete(() =>
{ {
//动画 //动画
transform.DOLocalMoveY(initPostionY - 0.02f, 1) transform.DOLocalMoveY(initPostionY - 0.02f, 1)
@ -120,12 +94,10 @@ public class Tool_Screw : Tool_Base
Debug.Log("螺丝已拧松"); Debug.Log("螺丝已拧松");
isInstall = false; isInstall = false;
isMoving = false; isMoving = false;
screwdriver.isMoving = false;
installAction?.Invoke(false); installAction?.Invoke(false);
screwdriver.ReBackHead(); screwdriver.ReBackHead();
screwdriver.isMoving = false;
CallScoreAction(false); CallScoreAction(false);
}); });
});
}
} }
} }

View File

@ -14,10 +14,19 @@ public class Tool_Screwdriver : Tool_Base
/// <param name="screw"></param> /// <param name="screw"></param>
public void Install(Tool_Screw screw) public void Install(Tool_Screw screw)
{ {
if (!screw.isInstall) if (!screw.isInstall && !screw.isMoving && !isMoving)
{ {
screw.isMoving = true;
isMoving = true; isMoving = true;
Debug.Log("开始拧紧螺丝");
startAction?.Invoke();
//螺丝刀移到螺丝上
transform.parent = null;
transform.DOLocalRotate(screw.installPos.localEulerAngles, 0.5f);
transform.DOMove(screw.installPos.position, 1).OnComplete(() =>
{
screw.BeInstalled(this); screw.BeInstalled(this);
});
} }
} }
@ -27,10 +36,19 @@ public class Tool_Screwdriver : Tool_Base
/// <param name="screw"></param> /// <param name="screw"></param>
public void UnInstall(Tool_Screw screw) public void UnInstall(Tool_Screw screw)
{ {
if (screw.isInstall) if (screw.isInstall && !screw.isMoving && !isMoving)
{ {
screw.isMoving = true;
isMoving = true; isMoving = true;
Debug.Log("开始卸螺丝");
startAction?.Invoke();
//螺丝刀移到螺丝处
transform.parent = null;
transform.DOLocalRotate(screw.installPos.localEulerAngles, 0.5f);
transform.DOMove(screw.installPos.position, 1).OnComplete(() =>
{
screw.BeUnInstalled(this); screw.BeUnInstalled(this);
});
} }
} }

View File

@ -116,6 +116,7 @@ public class Tool_TestPen : Tool_Base
if (tool_base.toolType == ToolType.) if (tool_base.toolType == ToolType.)
{ {
var tmp = ((Tool_Screw)tool_base); var tmp = ((Tool_Screw)tool_base);
base.startAction?.Invoke();
//位置移动 //位置移动
transform.parent = null; transform.parent = null;
transform.DOLocalRotate(tmp.installPos.localEulerAngles, 0.5f); transform.DOLocalRotate(tmp.installPos.localEulerAngles, 0.5f);

View File

@ -15,7 +15,8 @@ public class Tool_WireStripper : Tool_Base
/// <param name="device_Seal"></param> /// <param name="device_Seal"></param>
public void CutOpen(Device_Seal device_Seal) public void CutOpen(Device_Seal device_Seal)
{ {
isMoving = true; base.startAction?.Invoke();
base.isMoving = true;
transform.parent = null; transform.parent = null;
transform.DORotate(device_Seal.testPosAndRot.eulerAngles, 0.5f); transform.DORotate(device_Seal.testPosAndRot.eulerAngles, 0.5f);
transform.DOMove(device_Seal.testPosAndRot.position, 1).OnComplete(() => transform.DOMove(device_Seal.testPosAndRot.position, 1).OnComplete(() =>
@ -51,6 +52,7 @@ public class Tool_WireStripper : Tool_Base
//¼ô¶Ï //¼ô¶Ï
device_Seal.Cut(); device_Seal.Cut();
isMoving = false; isMoving = false;
ReBackHead(); ReBackHead();
int result = (triggerAction == null ? 0 : triggerAction.Invoke(device_Seal.triggerName, true)); int result = (triggerAction == null ? 0 : triggerAction.Invoke(device_Seal.triggerName, true));
} }

View File

@ -25,9 +25,29 @@ public class LiveSceneManager : SingletonMono<LiveSceneManager>
currentTool.transform.localPosition = spawnToolPos.localPosition; currentTool.transform.localPosition = spawnToolPos.localPosition;
currentTool.transform.localEulerAngles = spawnToolPos.localEulerAngles; currentTool.transform.localEulerAngles = spawnToolPos.localEulerAngles;
if (currentTool.GetComponent<Tool_Base>()) if (currentTool.GetComponent<Tool_Base>())
{
currentTool.GetComponent<Tool_Base>().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles); currentTool.GetComponent<Tool_Base>().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles);
currentTool.GetComponent<Tool_Base>().AddStartAction(() =>
{
tMDTips.gameObject.SetActive(false);
});
currentTool.GetComponent<Tool_Base>().AddEndAction(() =>
{
tMDTips.gameObject.SetActive(true);
});
}
if (currentTool.GetComponent<Device_Base>()) if (currentTool.GetComponent<Device_Base>())
{
currentTool.GetComponent<Device_Base>().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles); currentTool.GetComponent<Device_Base>().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles);
currentTool.GetComponent<Device_Base>().AddStartAction(() =>
{
tMDTips.gameObject.SetActive(false);
});
currentTool.GetComponent<Device_Base>().AddEndAction(() =>
{
tMDTips.gameObject.SetActive(true);
});
}
tMDTips.gameObject.SetActive(true); tMDTips.gameObject.SetActive(true);
if (currentTool.name.Equals("¹¤×÷Ö¤")) if (currentTool.name.Equals("¹¤×÷Ö¤"))
{ {

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

@ -18,6 +18,14 @@ public class PermanentTriggerBase : MonoBehaviour
/// 打分事件 /// 打分事件
/// </summary> /// </summary>
private Action<string, object, int, int> scoreAction; private Action<string, object, int, int> scoreAction;
/// <summary>
/// 开始操作的回调(工具为从手里开始使用时调用,设备为开始操作时调用)
/// </summary>
protected Action startAction;
/// <summary>
/// 操作结束回调(工具为回到手中时调用,设备为操作结束时调用)
/// </summary>
protected Action endAction;
private void Awake() private void Awake()
{ {

View File

@ -26,10 +26,7 @@ public class UI_SubProcessItem : BaseItem
{ {
GameManager.EventMgr.AddEventListener<int>(Enum_EventType.SwitchSubProcess, SwitchSubProcess); GameManager.EventMgr.AddEventListener<int>(Enum_EventType.SwitchSubProcess, SwitchSubProcess);
} }
public override void HideMe()
{
GameManager.EventMgr.RemoveEventListener<int>(Enum_EventType.SwitchSubProcess, SwitchSubProcess);
}
/// <summary> /// <summary>
/// ¿ØÖư´Å¥×´Ì¬ /// ¿ØÖư´Å¥×´Ì¬
/// </summary> /// </summary>
@ -48,12 +45,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

@ -57,37 +57,54 @@ public class UI_MenuBar : BasePanel
private void SwitchSubProcessStepTriggerID(string triggerID) private void SwitchSubProcessStepTriggerID(string triggerID)
{ {
bool isOpen = false;
if (triggerID == workOrderName) if (triggerID == workOrderName)
{ {
GameManager.UIMgr.imageTips.ShowTips(workOrderBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(workOrderBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else if (triggerID == disassemblyAssemblyWorkOrderName) else if (triggerID == disassemblyAssemblyWorkOrderName)
{ {
GameManager.UIMgr.imageTips.ShowTips(disassemblyAssemblyWorkOrderBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(disassemblyAssemblyWorkOrderBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else if (triggerID == toolKitName) else if (triggerID == toolKitName)
{ {
GameManager.UIMgr.imageTips.ShowTips(toolKitBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(toolKitBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else if (triggerID == siteName) else if (triggerID == siteName)
{ {
GameManager.UIMgr.imageTips.ShowTips(siteBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(siteBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else if (triggerID == officeName) else if (triggerID == officeName)
{ {
GameManager.UIMgr.imageTips.ShowTips(officeBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(officeBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else if (triggerID == toolRoomName) else if (triggerID == toolRoomName)
{ {
GameManager.UIMgr.imageTips.ShowTips(toolRoomBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(toolRoomBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else if (triggerID == notifyName) else if (triggerID == notifyName)
{ {
GameManager.UIMgr.imageTips.ShowTips(notifyBtn.GetComponent<RectTransform>()); GameManager.UIMgr.imageTips.ShowTips(notifyBtn.GetComponent<RectTransform>());
isOpen = true;
} }
else else
{ {
GameManager.UIMgr.imageTips.HideTips(); GameManager.UIMgr.imageTips.HideTips();
isOpen = false;
}
if (isOpen)
{
OpenMenu();
}
else
{
CloseMenu();
} }
} }
@ -99,11 +116,7 @@ public class UI_MenuBar : BasePanel
public void CheckBtnBySceneName(E_SceneType type) public void CheckBtnBySceneName(E_SceneType type)
{ {
Debug.Log(type.ToString()); Debug.Log(type.ToString());
if (GetControl<Image>("MenuBar").transform.localPosition.x == 960) CloseMenu();
{
GetControl<Image>("CloseDefaultBtn").sprite = ExpandSprite;
GetControl<Image>("MenuBar").transform.DOLocalMoveX(1070, 0.5f);
}
toolRoomBtn.gameObject.SetActive(type != E_SceneType.ToolRoom); toolRoomBtn.gameObject.SetActive(type != E_SceneType.ToolRoom);
siteBtn.gameObject.SetActive(type == E_SceneType.ToolRoom); siteBtn.gameObject.SetActive(type == E_SceneType.ToolRoom);
workOrderBtn.gameObject.SetActive(type == E_SceneType.Office); workOrderBtn.gameObject.SetActive(type == E_SceneType.Office);
@ -114,6 +127,17 @@ public class UI_MenuBar : BasePanel
notifyBtn.gameObject.SetActive(type == E_SceneType.Site); notifyBtn.gameObject.SetActive(type == E_SceneType.Site);
} }
private void OpenMenu()
{
GetControl<Image>("CloseDefaultBtn").sprite = ExpandSprite;
GetControl<Image>("MenuBar").rectTransform.DOAnchorPosX(0, 0.5f);
}
private void CloseMenu()
{
GetControl<Image>("MenuBar").rectTransform.DOAnchorPosX(110, 0.5f);
GetControl<Image>("CloseDefaultBtn").sprite = CollapseSprite;
}
/// <summary> /// <summary>
/// µ¹¼ÆÊ± /// µ¹¼ÆÊ±
@ -128,7 +152,7 @@ public class UI_MenuBar : BasePanel
while (countDown > 0) while (countDown > 0)
{ {
yield return waitForSeconds; yield return waitForSeconds;
GetControl<Image>("MenuBar").transform.DOLocalMoveX(1070, 0.5f); CloseMenu();
} }
} }
protected override void OnClick(string btnName) protected override void OnClick(string btnName)
@ -136,12 +160,13 @@ public class UI_MenuBar : BasePanel
switch (btnName) switch (btnName)
{ {
case "CloseDefaultBtn": case "CloseDefaultBtn":
GetControl<Image>("MenuBar").transform.DOLocalMoveX(960, 0.5f); if (GetControl<Image>("MenuBar").rectTransform.anchoredPosition.x == 0)
GetControl<Image>("CloseDefaultBtn").sprite = CollapseSprite;
if (GetControl<Image>("MenuBar").transform.localPosition.x == 960)
{ {
GetControl<Image>("CloseDefaultBtn").sprite = ExpandSprite; CloseMenu();
GetControl<Image>("MenuBar").transform.DOLocalMoveX(1070, 0.5f); }
else if (GetControl<Image>("MenuBar").rectTransform.anchoredPosition.x == 110)
{
OpenMenu();
} }
break; break;
case "OfficeBtn": case "OfficeBtn":

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;
} }

View File

@ -14,6 +14,8 @@ public class UI_ToolAndMaterialPanel : BasePanel
{ {
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study) if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
GetControl<Button>("closeBtn").interactable = false; GetControl<Button>("closeBtn").interactable = false;
if (GameManager.RunModelMgr.SceneType != E_SceneType.ToolRoom)
GetControl<Button>("closeBtn").gameObject.SetActive(false);
CreatItem(E_ToolOrDeviceOrMaterials.Tool); //默认打开显示工器具 CreatItem(E_ToolOrDeviceOrMaterials.Tool); //默认打开显示工器具
} }