This commit is contained in:
huqibin 2025-01-17 09:29:09 +08:00
parent 250b113e08
commit 1b5ad67dcb
5 changed files with 46 additions and 8 deletions

View File

@ -11,6 +11,8 @@ using UnityEngine;
/// </summary> /// </summary>
public class Device_Control_9001 : Device_Control public class Device_Control_9001 : Device_Control
{ {
public static Device_Control_9001 instance;
/// <summary> /// <summary>
/// 当前机柜中安装的三相四线电能表 /// 当前机柜中安装的三相四线电能表
/// </summary> /// </summary>
@ -88,7 +90,7 @@ public class Device_Control_9001 : Device_Control
ewmOK = false; ewmOK = false;
isSMOK = false; isSMOK = false;
instance = this;
//设置控制脚本 //设置控制脚本
StepStateControl.instance?.SetDeviceControl(9001,this); StepStateControl.instance?.SetDeviceControl(9001,this);

View File

@ -43,7 +43,8 @@ public class StepState_9001 : StepState
//办公室场景首个步骤 //办公室场景首个步骤
//查看任务单 //查看任务单
//OfficeManager.Instance.mobileController.downIndex = 0; //OfficeManager.Instance.mobileController.downIndex = 0;
PacksackBagMgr.Instance.ClearAllData(); TooRoomMannger.Instance.CreateTool();
PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial();
TooRoomMannger.Instance.CheckWearByWearDic(); TooRoomMannger.Instance.CheckWearByWearDic();
//MobileAttach10007_7002.index = 0; //MobileAttach10007_7002.index = 0;
Score_9001.cdzIndex = 0; Score_9001.cdzIndex = 0;

View File

@ -14,8 +14,9 @@ public class Tool_EWM : Tool_Base
if (Physics.Raycast(tmpray, out RaycastHit hit)) if (Physics.Raycast(tmpray, out RaycastHit hit))
{ {
Door ts = hit.transform.GetComponent<Door>(); Door ts = hit.transform.GetComponent<Door>();
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.EWM_OBJ.SetActive(true);
Device_Control_9001.ewmOK = true; Device_Control_9001.ewmOK = true;
} }

View File

@ -179,6 +179,31 @@ public class TooRoomMannger : SingletonMono<TooRoomMannger>
// GameManager.EventMgr.RemoveEventListener<bool>(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove); // GameManager.EventMgr.RemoveEventListener<bool>(Enum_EventType.PlayerCanMove, SwitchFirstPersonControllerMove);
//} //}
public void CreateTool()
{
var bagDatas = GameManager.PacksackBagMgr.GetCurrentBagData();
var wearDate = GameManager.PacksackBagMgr.wearDic;
foreach (var item in bagDatas.Keys)
{
List<ItemInfo> 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<Tool_SelectComponent>().itemInfo = temp[indexJ];
obj.GetComponent<Tool_SelectComponent>().GetInfo();
}
}
}
allTMDs.Clear();
allTMDs = toolParent.GetComponentsInChildren<BaseToolOrDevice>(true).ToList();
}
} }
/// <summary> /// <summary>

View File

@ -18,6 +18,8 @@ public class ItemInfo
public E_ToolOrDeviceOrMaterials toolOrDeviceOrMaterial; public E_ToolOrDeviceOrMaterials toolOrDeviceOrMaterial;
public GameObject objPrefab; public GameObject objPrefab;
public Vector3 selfPosInToolRoom; public Vector3 selfPosInToolRoom;
public Vector3 selfAngleInToolRoom;
public int index;
} }
/// <summary> /// <summary>
/// 工具或者材料基类,此脚本必须挂在工具或者材料上 /// 工具或者材料基类,此脚本必须挂在工具或者材料上
@ -30,6 +32,13 @@ public abstract class BaseToolOrDevice : MonoBehaviour
public Tween tween; public Tween tween;
private void Awake() private void Awake()
{ {
//此脚本仅工具间有用
if (GameManager.RunModelMgr.SceneType != E_SceneType.ToolRoom)
{
Destroy(this);
return;
}
if (GetComponent<HighlightEffect>()) if (GetComponent<HighlightEffect>())
{ {
_highlight = GetComponent<HighlightEffect>(); _highlight = GetComponent<HighlightEffect>();
@ -72,13 +81,13 @@ public abstract class BaseToolOrDevice : MonoBehaviour
itemInfo.toolOrDeviceOrMaterial = (E_ToolOrDeviceOrMaterials)dTMD.type; itemInfo.toolOrDeviceOrMaterial = (E_ToolOrDeviceOrMaterials)dTMD.type;
gameObject.SetActive(true); gameObject.SetActive(true);
itemInfo.objPrefab = Resources.Load<GameObject>("Prefabs/Objects/Tools/" + gameObject.name); itemInfo.objPrefab = Resources.Load<GameObject>("Prefabs/Objects/Tools/" + gameObject.name);
Debug.Log("生成");
itemInfo.selfPosInToolRoom = transform.position; itemInfo.selfPosInToolRoom = transform.position;
itemInfo.selfAngleInToolRoom = transform.eulerAngles;
} }
else //else
{ //{
gameObject.SetActive(false); // gameObject.SetActive(false);
} //}
} }