2024-12-24 13:52:04 +08:00

55 lines
1.5 KiB
C#

using HighlightPlus;
using QFramework;
using QFramework.Example;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DeviceItem : MonoBehaviour
{
public XMLTool.Device device;
public void Init(XMLTool.Device device)
{
this.device = device;
if (string.IsNullOrEmpty(device.HighColor) == false)
{
var effect = gameObject.GetOrAddComponent<HighlightEffect>();
gameObject.GetOrAddComponent<HighlightTrigger>();
effect.outlineColor = Color.green;
}
if (device.MeshCollider)
{
gameObject.GetOrAddComponent<MeshCollider>();
}
else if (string.IsNullOrEmpty(device.BoxColliderSize) == false)
{
BoxCollider box = gameObject.GetOrAddComponent<BoxCollider>();
box.size = Utility.GetVector3FromStrArray(device.BoxColliderSize);
if (string.IsNullOrEmpty(device.BoxColliderCenter) == false)
{
box.center = Utility.GetVector3FromStrArray(device.BoxColliderCenter);
}
}
if (string.IsNullOrEmpty(device.Tip) == false)
{
gameObject.AddComponent<TipItem>().Set(device.Tip);
}
else
{
gameObject.AddComponent<TipItem>().Set(device.Name);
}
}
private void OnMouseUpAsButton()
{
var effect = gameObject.GetComponent<HighlightEffect>();
if (effect != null)
{
effect.highlighted = false;
}
}
}