添加限制

This commit is contained in:
YangHua 2024-08-27 13:12:05 +08:00
parent f4a9c04e0a
commit 227657da5c
14 changed files with 154 additions and 88 deletions

Binary file not shown.

View File

@ -1932,6 +1932,9 @@ MonoBehaviour:
workOrderName: "\u5DE5\u4F5C\u7968\u6309\u94AE"
disassemblyAssemblyWorkOrderName: "\u62C6\u88C5\u5DE5\u5355\u6309\u94AE"
toolKitName: "\u80CC\u5305\u6309\u94AE"
siteName: "\u73B0\u573A\u6309\u94AE"
officeName: "\u529E\u516C\u5BA4\u6309\u94AE"
toolRoomName: "\u5DE5\u5177\u95F4\u6309\u94AE"
--- !u!1 &7034408565425647768
GameObject:
m_ObjectHideFlags: 0

View File

@ -377,7 +377,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5391260472701243106}
m_RootOrder: 1
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
@ -709,7 +709,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5391260472643553055}
m_RootOrder: 1
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
@ -1559,7 +1559,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5391260472643553055}
m_RootOrder: 0
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
@ -2265,7 +2265,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 5391260472487170535}
toggleTransition: 1
graphic: {fileID: 5391260471881901913}
m_Group: {fileID: 5391260471604481217}
@ -2844,7 +2844,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 5391260472379544040}
toggleTransition: 1
graphic: {fileID: 5391260471364709866}
m_Group: {fileID: 5391260471604481217}
@ -3212,7 +3212,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 5391260471676390767}
toggleTransition: 1
graphic: {fileID: 5391260471356559784}
m_Group: {fileID: 5391260471604481217}
@ -3386,7 +3386,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 5391260471742294954}
toggleTransition: 1
graphic: {fileID: 5391260470746999414}
m_Group: {fileID: 5391260471604481217}
@ -3635,8 +3635,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5391260471402660544}
- {fileID: 5391260470960890351}
- {fileID: 5391260471402660544}
- {fileID: 5391260470740034712}
- {fileID: 5391260471030653846}
m_Father: {fileID: 5391260471604481223}
@ -3695,7 +3695,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 5391260470960890344}
toggleTransition: 1
graphic: {fileID: 5391260471402660545}
m_Group: {fileID: 5391260471604481217}
@ -3733,8 +3733,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5391260472763218954}
- {fileID: 5391260470848089584}
- {fileID: 5391260472763218954}
- {fileID: 5391260470934551261}
- {fileID: 5391260471152544378}
m_Father: {fileID: 5391260471604481223}
@ -3793,7 +3793,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_TargetGraphic: {fileID: 5391260470848089585}
toggleTransition: 1
graphic: {fileID: 5391260472763218955}
m_Group: {fileID: 5391260471604481217}
@ -3832,7 +3832,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5391260472701243106}
m_RootOrder: 0
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}

View File

@ -150,4 +150,18 @@ public class PacksackBagMgr : BaseManager<PacksackBagMgr>
wearDic.Remove(itemInfo.toolName);
}
}
/// <summary>
/// 已经穿上
/// </summary>
/// <returns></returns>
public bool IsWeared(HashSet<string> wears)
{
HashSet<string> keys = new HashSet<string>(wearDic.Keys);
foreach (var str in keys)
{
wears.RemoveWhere(key => str.Contains(key));
}
return wears.Count == 0;
}
}

View File

@ -55,7 +55,11 @@ public class TooRoomMannger : SingletonMono<TooRoomMannger>
}
}
/// <summary>
/// 与模型联动
/// </summary>
/// <param name="equipName"></param>
/// <param name="isChange"></param>
public void Wear(string equipName, bool isChange)
{
Material ma = null;

View File

@ -10,6 +10,7 @@ public class UI_CheckMyselfItem : BaseItem
public ItemInfo itemInfo;
public TextMeshProUGUI tips;
public bool isOn = false;
public void Init(ItemInfo _itemInfo)
{
itemInfo = _itemInfo;
@ -20,7 +21,6 @@ public class UI_CheckMyselfItem : BaseItem
}
GetControl<Image>("iconBtn").sprite = Resources.Load<Sprite>(Const.LoadToolAndMaterialPath + _itemInfo.toolName);
}
protected override void OnClick(string btnName)
{
base.OnClick(btnName);
@ -34,7 +34,8 @@ public class UI_CheckMyselfItem : BaseItem
PacksackBagMgr.Instance.WearItemState(itemInfo, isOn);
TooRoomMannger.Instance.Wear(itemInfo.toolName, isOn);
}
Debug.Log("IconBtn");
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
GameManager.EventMgr.EventTrigger(Enum_EventType.WearState);
break;
case "UI_CheckMyselfItem":
Debug.Log("UI_CheckMyselfItem");

View File

@ -1,20 +1,23 @@
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class UI_CheckMyselfPanel : BasePanel
{
private string[] validToolNames = { "国网安全帽", "绝缘手套", "绝缘靴", "工作服" };
private HashSet<string> validToolNames = new HashSet<string> { "国网安全帽", "绝缘手套", "绝缘靴", "工作服" };
public RectTransform _content;
public UI_CheckMyselfItem ui_CheckMySelfItem;
public void Init()
{
}
public override void ShowMe()
{
base.ShowMe();
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
{
GetControl<Button>("closeBtn").interactable = false;
GameManager.EventMgr.AddEventListener(Enum_EventType.WearState, OnWearState);
}
var currentBagDataForTool = GameManager.PacksackBagMgr.GetItemsByE_TMDType(E_ToolOrDeviceOrMaterials.Tool);
foreach (var item in currentBagDataForTool.Keys)
@ -25,10 +28,22 @@ public class UI_CheckMyselfPanel : BasePanel
cItem.Init(currentBagDataForTool[item][0]);
}
}
}
public override void HideMe()
{
base.HideMe();
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
{
GameManager.EventMgr.RemoveEventListener(Enum_EventType.WearState, OnWearState);
}
}
private void OnWearState()
{
if (PacksackBagMgr.Instance.IsWeared(validToolNames))
UIManager.Instance.HidePanel<UI_CheckMyselfPanel>();
}
protected override void OnClick(string btnName)

View File

@ -26,7 +26,12 @@ public class UI_InstallAndDismantleTicketPanel : BasePanel
NotSubmited();
}
}
public override void ShowMe()
{
base.ShowMe();
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
GetControl<Button>("Button_Close").interactable = false;
}
/// <summary>
/// 点击按钮

View File

@ -10,20 +10,15 @@ public class UI_LowTensionWorkTicketPanel : BasePanel
public Transform backpack; // 교관UI돨만膠竟
public WorkingLineNameOrEquipmentDualName itemUIPrefab; // 교관櫓鞫刻膠틔돨UI渡齡竟
public Transform Content; // 교관UI돨만膠竟
//public void Init(int triggerID)
//{
// this.triggerID = triggerID;
//}
public override void ShowMe()
{
base.ShowMe();
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
GetControl<Button>("closeBtn").interactable = false;
}
public override void HideMe()
{
}
protected override void OnClick(string btnName)
{
@ -32,14 +27,11 @@ public class UI_LowTensionWorkTicketPanel : BasePanel
{
case "closeBtn":
UIManager.Instance.HidePanel<UI_LowTensionWorkTicketPanel>();
//GameManager.UIMgr.HidePanel<UI_LowTensionWorkTicketPanel>();
break;
case "ConfirmBtn":
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true) == 0)
{
//GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
UIManager.Instance.HidePanel<UI_LowTensionWorkTicketPanel>();
//GameManager.UIMgr.HidePanel<UI_LowTensionWorkTicketPanel>();
}
break;
case "NewAddBtn":

View File

@ -18,12 +18,17 @@ public class UI_MenuBar : BasePanel
private int time;
[Header("工作票按钮")]
public string workOrderName;
public string workOrderName;
[Header("拆装工单按钮")]
public string disassemblyAssemblyWorkOrderName;
[Header("背包按钮")]
public string toolKitName;
[Header("现场按钮")]
public string siteName;
[Header("办公室按钮")]
public string officeName;
[Header("工具间按钮")]
public string toolRoomName;
/// <summary>
/// 记录倒计时的协程
/// </summary>
@ -111,9 +116,29 @@ public class UI_MenuBar : BasePanel
GetControl<Image>("MenuBar").transform.DOLocalMoveX(1070, 0.5f);
}
break;
case "OfficeBtn":
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(officeName, true) == 0)
{
GameManager.UIMgr.ShowPanel<UI_LoadingPanel>(E_UI_Layer.System, (panel) =>
{
panel.Init();
GameManager.EventMgr.EventTrigger<float>(Enum_EventType.UpdateProgress, 0.1f);
GameManager.ScenesMgr.LoadSceneAsyn("03_OfficeScene", () =>
{
GameManager.EventMgr.EventTrigger<float>(Enum_EventType.UpdateProgress, 0.9f);
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, GameManager.RunModelMgr.SceneType);
if (GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName.Count > 0)
{
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersName[0]);
}
});
});
}
break;
case "ToolRoomBtn":
GameManager.UIMgr.ShowPanel<UI_LoadingPanel>(E_UI_Layer.System, (panel) =>
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(toolRoomName, true) == 0)
{
GameManager.UIMgr.ShowPanel<UI_LoadingPanel>(E_UI_Layer.System, (panel) =>
{
panel.Init();
GameManager.EventMgr.EventTrigger<float>(Enum_EventType.UpdateProgress, 0.1f);
@ -127,9 +152,12 @@ public class UI_MenuBar : BasePanel
}
});
});
}
break;
case "SiteBtn":
GameManager.UIMgr.ShowPanel<UI_LoadingPanel>(E_UI_Layer.System, (panel) =>
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(siteName, true) == 0)
{
GameManager.UIMgr.ShowPanel<UI_LoadingPanel>(E_UI_Layer.System, (panel) =>
{
panel.Init();
GameManager.EventMgr.EventTrigger<float>(Enum_EventType.UpdateProgress, 0.1f);
@ -143,6 +171,7 @@ public class UI_MenuBar : BasePanel
}
});
});
}
break;
case "WorkOrderBtn":
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(workOrderName, false) == 0)

View File

@ -10,11 +10,19 @@ using UnityEngine.UI;
public class UI_SelectWorkTicketPanel : BasePanel
{
private int number = 0;
private string triggerID;
public void Init(string triggerID)
private string triggerName;
public void Init(string triggerName)
{
number = 0;
this.triggerID = triggerID;
this.triggerName = triggerName;
}
public override void ShowMe()
{
base.ShowMe();
if (GameManager.RunModelMgr.ModeType == E_ModeType.Study)
GetControl<Button>("Button_Close").interactable = false;
}
protected override void OnClick(string btnName)
@ -33,13 +41,9 @@ public class UI_SelectWorkTicketPanel : BasePanel
if (GetControl<Toggle>("ImageF").isOn)
{
UIManager.Instance.HidePanel<UI_SelectWorkTicketPanel>();
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerID, true) == 0)
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true) == 0)
{
GameManager.UIMgr.ShowPanel<UI_LowTensionWorkTicketPanel>(E_UI_Layer.Mid);
// , (p) =>
//{
// GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
//});
Debug.Log("选择了正确选项F进行下一个面板");
}
}
@ -49,13 +53,9 @@ public class UI_SelectWorkTicketPanel : BasePanel
{
UIManager.Instance.HidePanel<UI_SelectWorkTicketPanel>();
Debug.Log("错误三次了,直接进行下一个面板");
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerID, true) == 0)
if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true) == 0)
{
GameManager.UIMgr.ShowPanel<UI_LowTensionWorkTicketPanel>(E_UI_Layer.Mid);
// , (p) =>
//{
// GameManager.ProcessMgr.CheckSubProcessSteps(GameManager.ProcessMgr.subProcessStepId);
//});
}
}
}
@ -79,42 +79,42 @@ public class UI_SelectWorkTicketPanel : BasePanel
}
}
protected override void OnChangeToggle(string toogleName, bool isOn)
{
switch (toogleName)
{
case "ImageA":
Reduction();
GetControl<Image>("Image_ANoSelected").gameObject.SetActive(false);
Debug.Log("name" + toogleName);
break;
case "ImageB":
Reduction();
GetControl<Image>("Image_BNoSelected").gameObject.SetActive(false);
Debug.Log("name" + toogleName);
break;
case "ImageC":
Reduction();
GetControl<Image>("Image_CNoSelected").gameObject.SetActive(false);
Debug.Log("name" + toogleName);
break;
case "ImageD":
Reduction();
GetControl<Image>("Image_DNoSelected").gameObject.SetActive(false);
Debug.Log("name" + toogleName);
break;
case "ImageE":
Reduction();
GetControl<Image>("Image_ENoSelected").gameObject.SetActive(false);
Debug.Log("name" + toogleName);
break;
case "ImageF":
Reduction();
GetControl<Image>("Image_FNoSelected").gameObject.SetActive(false);
Debug.Log("name" + toogleName);
break;
}
}
//protected override void OnChangeToggle(string toogleName, bool isOn)
//{
// switch (toogleName)
// {
// case "ImageA":
// Reduction();
// GetControl<Image>("Image_ANoSelected").gameObject.SetActive(false);
// Debug.Log("name" + toogleName);
// break;
// case "ImageB":
// Reduction();
// GetControl<Image>("Image_BNoSelected").gameObject.SetActive(false);
// Debug.Log("name" + toogleName);
// break;
// case "ImageC":
// Reduction();
// GetControl<Image>("Image_CNoSelected").gameObject.SetActive(false);
// Debug.Log("name" + toogleName);
// break;
// case "ImageD":
// Reduction();
// GetControl<Image>("Image_DNoSelected").gameObject.SetActive(false);
// Debug.Log("name" + toogleName);
// break;
// case "ImageE":
// Reduction();
// GetControl<Image>("Image_ENoSelected").gameObject.SetActive(false);
// Debug.Log("name" + toogleName);
// break;
// case "ImageF":
// Reduction();
// GetControl<Image>("Image_FNoSelected").gameObject.SetActive(false);
// Debug.Log("name" + toogleName);
// break;
// }
//}
/// <summary>
/// 恢复所有未选中image的显示状态

View File

@ -50,4 +50,8 @@ public enum Enum_EventType
/// 初始化UI
/// </summary>
InitializationUI,
/// <summary>
/// 穿戴状态
/// </summary>
WearState,
}

View File

@ -9,7 +9,6 @@ public class WorkingLineNameOrEquipmentDualName : BaseItem
public Action<GameObject> callBack;
protected override void OnClick(string btnName)
{
switch (btnName)
{
case "RemoveBtn":