ShanxiKnowledgeBase/SXElectricityInformationAcq.../Assets/taoruiqi/Script/ToolsManager.cs

63 lines
1.6 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
using Unity.VisualScripting;
public class TooslManager : MonoBehaviour
{
[System.Serializable]
public class Tool
{
/// <summary>
/// 工具
/// </summary>
public GameObject toolObject;
/// <summary>
/// 复位按钮
/// </summary>
public Button returnButton;
[HideInInspector]
public Vector3 originalPosition;
[HideInInspector]
public Quaternion originalRotation;
}
public List<Tool> tools;
public Transform PlayercameraTrans;
public static TooslManager instance;
public void Awake()
{
instance = this;
}
void Start()
{
foreach (var tool in tools)
{
// 保存每个工具的原始位置和旋转
tool.originalPosition = tool.toolObject.transform.localPosition;
tool.originalRotation = tool.toolObject.transform.localRotation;
Debug.Log("第一个位置:"+ tool.originalPosition);
// 为每个按钮添加点击事件
tool.returnButton.onClick.AddListener(ResetAllTools);
}
}
// 返回所有工具到原始位置并隐藏
public void ResetAllTools()
{
foreach (var tool in tools)
{
tool.toolObject.transform.SetParent(PlayercameraTrans.transform);
tool.toolObject.transform.localPosition = tool.originalPosition;
tool.toolObject.transform.localRotation = tool.originalRotation;
tool.toolObject.SetActive(false);
Debug.Log("第二个位置:" + tool.originalPosition);
}
}
}