注册事件

This commit is contained in:
YangHua 2024-08-29 21:18:02 +08:00
parent c01e05ddef
commit d08e92b26d
5 changed files with 76 additions and 14 deletions

View File

@ -59,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

@ -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>

View File

@ -52,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

@ -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":