diff --git a/Assets/Scripts/CXX/Devices/Device_Base.cs b/Assets/Scripts/CXX/Devices/Device_Base.cs
index b9b1a44..78735ae 100644
--- a/Assets/Scripts/CXX/Devices/Device_Base.cs
+++ b/Assets/Scripts/CXX/Devices/Device_Base.cs
@@ -59,6 +59,15 @@ public class Device_Base : PermanentTriggerBase
this.triggerAction = action;
}
+ public void AddStartAction(Action callback)
+ {
+ startAction += callback;
+ }
+ public void AddEndAction(Action callback)
+ {
+ endAction += callback;
+ }
+
///
/// 设置工具回到手中的位置
///
diff --git a/Assets/Scripts/CXX/Tools/Tool_Base.cs b/Assets/Scripts/CXX/Tools/Tool_Base.cs
index 3f00d11..7e19832 100644
--- a/Assets/Scripts/CXX/Tools/Tool_Base.cs
+++ b/Assets/Scripts/CXX/Tools/Tool_Base.cs
@@ -65,7 +65,14 @@ public class Tool_Base : PermanentTriggerBase
{
this.triggerAction = action;
}
-
+ public void AddStartAction(Action callback)
+ {
+ startAction += callback;
+ }
+ public void AddEndAction(Action callback)
+ {
+ endAction += callback;
+ }
///
/// 设置工具回到手中的位置
///
diff --git a/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs b/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs
index a131a11..ab9f553 100644
--- a/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs
+++ b/Assets/Scripts/CXX/Tools/Tool_WireStripper.cs
@@ -19,7 +19,7 @@ public class Tool_WireStripper : Tool_Base
base.isMoving = true;
transform.parent = null;
transform.DORotate(device_Seal.testPosAndRot.eulerAngles, 0.5f);
- transform.DOMove(device_Seal.testPosAndRot.position, 1).OnComplete(() =>
+ transform.DOMove(device_Seal.testPosAndRot.position, 1).OnComplete(() =>
{
//播放动画
StopAllCoroutines();
@@ -52,6 +52,7 @@ public class Tool_WireStripper : Tool_Base
//剪断
device_Seal.Cut();
isMoving = false;
+
ReBackHead();
int result = (triggerAction == null ? 0 : triggerAction.Invoke(device_Seal.triggerName, true));
}
@@ -68,7 +69,7 @@ public class Tool_WireStripper : Tool_Base
Device_Seal ds = hit.transform.GetComponent();
if (ds != null)
{
- if ((triggerAction == null ? 0 : triggerAction.Invoke(ds.triggerName, false))== 0)
+ if ((triggerAction == null ? 0 : triggerAction.Invoke(ds.triggerName, false)) == 0)
{
CutOpen(ds);
}
diff --git a/Assets/Scripts/Project/Manager/LiveSceneManager.cs b/Assets/Scripts/Project/Manager/LiveSceneManager.cs
index 95d3bc7..b87f62d 100644
--- a/Assets/Scripts/Project/Manager/LiveSceneManager.cs
+++ b/Assets/Scripts/Project/Manager/LiveSceneManager.cs
@@ -25,9 +25,29 @@ public class LiveSceneManager : SingletonMono
currentTool.transform.localPosition = spawnToolPos.localPosition;
currentTool.transform.localEulerAngles = spawnToolPos.localEulerAngles;
if (currentTool.GetComponent())
+ {
currentTool.GetComponent().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles);
+ currentTool.GetComponent().AddStartAction(() =>
+ {
+ tMDTips.gameObject.SetActive(false);
+ });
+ currentTool.GetComponent().AddEndAction(() =>
+ {
+ tMDTips.gameObject.SetActive(true);
+ });
+ }
if (currentTool.GetComponent())
+ {
currentTool.GetComponent().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles);
+ currentTool.GetComponent().AddStartAction(() =>
+ {
+ tMDTips.gameObject.SetActive(false);
+ });
+ currentTool.GetComponent().AddEndAction(() =>
+ {
+ tMDTips.gameObject.SetActive(true);
+ });
+ }
tMDTips.gameObject.SetActive(true);
if (currentTool.name.Equals("工作证"))
{
diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs
index e5b03f3..717a655 100644
--- a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs
+++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs
@@ -57,37 +57,54 @@ public class UI_MenuBar : BasePanel
private void SwitchSubProcessStepTriggerID(string triggerID)
{
+ bool isOpen = false;
if (triggerID == workOrderName)
{
GameManager.UIMgr.imageTips.ShowTips(workOrderBtn.GetComponent());
+ isOpen = true;
}
else if (triggerID == disassemblyAssemblyWorkOrderName)
{
GameManager.UIMgr.imageTips.ShowTips(disassemblyAssemblyWorkOrderBtn.GetComponent());
+ isOpen = true;
}
else if (triggerID == toolKitName)
{
GameManager.UIMgr.imageTips.ShowTips(toolKitBtn.GetComponent());
+ isOpen = true;
}
else if (triggerID == siteName)
{
GameManager.UIMgr.imageTips.ShowTips(siteBtn.GetComponent());
+ isOpen = true;
}
else if (triggerID == officeName)
{
GameManager.UIMgr.imageTips.ShowTips(officeBtn.GetComponent());
+ isOpen = true;
}
else if (triggerID == toolRoomName)
{
GameManager.UIMgr.imageTips.ShowTips(toolRoomBtn.GetComponent());
+ isOpen = true;
}
else if (triggerID == notifyName)
{
GameManager.UIMgr.imageTips.ShowTips(notifyBtn.GetComponent());
+ isOpen = true;
}
else
{
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)
{
Debug.Log(type.ToString());
- if (GetControl("MenuBar").transform.localPosition.x == 960)
- {
- GetControl("CloseDefaultBtn").sprite = ExpandSprite;
- GetControl("MenuBar").transform.DOLocalMoveX(1070, 0.5f);
- }
+ CloseMenu();
toolRoomBtn.gameObject.SetActive(type != E_SceneType.ToolRoom);
siteBtn.gameObject.SetActive(type == E_SceneType.ToolRoom);
workOrderBtn.gameObject.SetActive(type == E_SceneType.Office);
@@ -114,6 +127,17 @@ public class UI_MenuBar : BasePanel
notifyBtn.gameObject.SetActive(type == E_SceneType.Site);
}
+ private void OpenMenu()
+ {
+ GetControl("CloseDefaultBtn").sprite = ExpandSprite;
+ GetControl("MenuBar").rectTransform.DOAnchorPosX(0, 0.5f);
+ }
+
+ private void CloseMenu()
+ {
+ GetControl("MenuBar").rectTransform.DOAnchorPosX(110, 0.5f);
+ GetControl("CloseDefaultBtn").sprite = CollapseSprite;
+ }
///
/// 倒计时
@@ -128,7 +152,7 @@ public class UI_MenuBar : BasePanel
while (countDown > 0)
{
yield return waitForSeconds;
- GetControl("MenuBar").transform.DOLocalMoveX(1070, 0.5f);
+ CloseMenu();
}
}
protected override void OnClick(string btnName)
@@ -136,12 +160,13 @@ public class UI_MenuBar : BasePanel
switch (btnName)
{
case "CloseDefaultBtn":
- GetControl("MenuBar").transform.DOLocalMoveX(960, 0.5f);
- GetControl("CloseDefaultBtn").sprite = CollapseSprite;
- if (GetControl("MenuBar").transform.localPosition.x == 960)
+ if (GetControl("MenuBar").rectTransform.anchoredPosition.x == 0)
{
- GetControl("CloseDefaultBtn").sprite = ExpandSprite;
- GetControl("MenuBar").transform.DOLocalMoveX(1070, 0.5f);
+ CloseMenu();
+ }
+ else if (GetControl("MenuBar").rectTransform.anchoredPosition.x == 110)
+ {
+ OpenMenu();
}
break;
case "OfficeBtn":