diff --git a/Assets/Scripts/Device_Control_9001.cs b/Assets/Scripts/Device_Control_9001.cs index 602b80b..b186172 100644 --- a/Assets/Scripts/Device_Control_9001.cs +++ b/Assets/Scripts/Device_Control_9001.cs @@ -11,6 +11,8 @@ using UnityEngine; /// public class Device_Control_9001 : Device_Control { + public static Device_Control_9001 instance; + /// /// 当前机柜中安装的三相四线电能表 /// @@ -88,7 +90,7 @@ public class Device_Control_9001 : Device_Control ewmOK = false; isSMOK = false; - + instance = this; //设置控制脚本 StepStateControl.instance?.SetDeviceControl(9001,this); diff --git a/Assets/Scripts/StepState_9001.cs b/Assets/Scripts/StepState_9001.cs index da62160..8e769f7 100644 --- a/Assets/Scripts/StepState_9001.cs +++ b/Assets/Scripts/StepState_9001.cs @@ -43,7 +43,8 @@ public class StepState_9001 : StepState //办公室场景首个步骤 //查看任务单 //OfficeManager.Instance.mobileController.downIndex = 0; - PacksackBagMgr.Instance.ClearAllData(); + TooRoomMannger.Instance.CreateTool(); + PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial(); TooRoomMannger.Instance.CheckWearByWearDic(); //MobileAttach10007_7002.index = 0; Score_9001.cdzIndex = 0; diff --git a/Assets/Template/Scripts/CXX/Tools/Tool_EWM.cs b/Assets/Template/Scripts/CXX/Tools/Tool_EWM.cs index 18e39df..3fc1604 100644 --- a/Assets/Template/Scripts/CXX/Tools/Tool_EWM.cs +++ b/Assets/Template/Scripts/CXX/Tools/Tool_EWM.cs @@ -14,8 +14,9 @@ public class Tool_EWM : Tool_Base if (Physics.Raycast(tmpray, out RaycastHit hit)) { Door ts = hit.transform.GetComponent(); - if (ts != null) + if (ts != null && !Device_Control_9001.instance.ewmh.activeInHierarchy) { + Device_Control_9001.EWM_OBJ = Device_Control_9001.instance.ewm; Device_Control_9001.EWM_OBJ.SetActive(true); Device_Control_9001.ewmOK = true; } diff --git a/Assets/Template/Scripts/Project/Manager/TooRoomMannger.cs b/Assets/Template/Scripts/Project/Manager/TooRoomMannger.cs index a354ec8..d5adb37 100644 --- a/Assets/Template/Scripts/Project/Manager/TooRoomMannger.cs +++ b/Assets/Template/Scripts/Project/Manager/TooRoomMannger.cs @@ -179,6 +179,31 @@ public class TooRoomMannger : SingletonMono // GameManager.EventMgr.RemoveEventListener(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); //} + public void CreateTool() + { + var bagDatas = GameManager.PacksackBagMgr.GetCurrentBagData(); + var wearDate = GameManager.PacksackBagMgr.wearDic; + foreach (var item in bagDatas.Keys) + { + List temp = bagDatas[item]; + for (int j = 0; j < temp.Count; j++) + { + int indexJ = j; + if (temp[indexJ].selfPosInToolRoom != Vector3.zero) + { + GameObject obj = Instantiate(temp[indexJ].objPrefab, toolParent); + obj.name = temp[indexJ].toolName; + obj.transform.position = temp[indexJ].selfPosInToolRoom; + obj.transform.eulerAngles = temp[indexJ].selfAngleInToolRoom; + obj.GetComponent().itemInfo = temp[indexJ]; + obj.GetComponent().GetInfo(); + } + } + } + allTMDs.Clear(); + allTMDs = toolParent.GetComponentsInChildren(true).ToList(); + } + } /// diff --git a/Assets/Template/Scripts/Project/Objects/ToolAndMaterial/BaseToolOrDevice.cs b/Assets/Template/Scripts/Project/Objects/ToolAndMaterial/BaseToolOrDevice.cs index 18b11c7..0e62a80 100644 --- a/Assets/Template/Scripts/Project/Objects/ToolAndMaterial/BaseToolOrDevice.cs +++ b/Assets/Template/Scripts/Project/Objects/ToolAndMaterial/BaseToolOrDevice.cs @@ -18,6 +18,8 @@ public class ItemInfo public E_ToolOrDeviceOrMaterials toolOrDeviceOrMaterial; public GameObject objPrefab; public Vector3 selfPosInToolRoom; + public Vector3 selfAngleInToolRoom; + public int index; } /// /// 宸ュ叿鎴栬呮潗鏂欏熀绫伙紝姝よ剼鏈繀椤绘寕鍦ㄥ伐鍏锋垨鑰呮潗鏂欎笂 @@ -30,6 +32,13 @@ public abstract class BaseToolOrDevice : MonoBehaviour public Tween tween; private void Awake() { + //姝よ剼鏈粎宸ュ叿闂存湁鐢 + if (GameManager.RunModelMgr.SceneType != E_SceneType.ToolRoom) + { + Destroy(this); + return; + } + if (GetComponent()) { _highlight = GetComponent(); @@ -72,13 +81,13 @@ public abstract class BaseToolOrDevice : MonoBehaviour itemInfo.toolOrDeviceOrMaterial = (E_ToolOrDeviceOrMaterials)dTMD.type; gameObject.SetActive(true); itemInfo.objPrefab = Resources.Load("Prefabs/Objects/Tools/" + gameObject.name); - Debug.Log("鐢熸垚"); itemInfo.selfPosInToolRoom = transform.position; + itemInfo.selfAngleInToolRoom = transform.eulerAngles; } - else - { - gameObject.SetActive(false); - } + //else + //{ + // gameObject.SetActive(false); + //} }