using System; using DefaultNamespace; using DefaultNamespace.ProcessMode; using HighlightPlus; using MotionFramework; using UnityEngine; using UnityEngine.EventSystems; namespace ToolsPack { /// /// 附着在工具模型上 /// [RequireComponent(typeof(BoxCollider))] [RequireComponent(typeof(HighlightEffect))] public class ToolsPackGameObjectComponent : MonoBehaviour { private HighlightEffect _highlight; private int index; [SerializeField] private ModelTypeEnum _modelTypeEnum; [SerializeField] private ToolsPackScene _toolsPackScene; [SerializeField] private bool IsClick = true; private void Awake() { _highlight = this.GetComponent(); } private void Start() { // _toolsPackScene = MotionEngine.GetModule().GetToolsPackScene(); } private void OnEnable() { _highlight.highlighted = false; } private void OnMouseDown() { if (EventSystem.current.IsPointerOverGameObject()) { return; } if ( MotionEngine.GetModule().GetToolsPackScene() == ToolsPackScene.工具间) { MotionEngine.GetModule().HandleClick(this.gameObject.name); if (IsClick) MotionEngine.GetModule().AddToolsPack(this.name, this.gameObject); this.gameObject.SetActive(false); } } private void OnMouseEnter() { if (EventSystem.current.IsPointerOverGameObject()) { return; } _highlight.highlighted = true; } private void OnMouseExit() { if (EventSystem.current.IsPointerOverGameObject()) { return; } _highlight.highlighted = false; } public void SetIndex(int inde) { index = inde; } public int GetIndex() { return index; } // public void SetModelTypeEnum(ModelTypeEnum mo) // { // _modelTypeEnum = mo; // } public ModelTypeEnum GetModelTypeEnum() { return _modelTypeEnum; } } }