U3D_TobaccoWarehouseISMDTSy.../Assets/Scripts/YL/Loadingoperation.cs

61 lines
2.1 KiB
C#

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class Loadingoperation : MonoBehaviour
{
/// <summary>
/// 触发上箱操作
/// </summary>
/// <param name="other"></param>
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Box"))
{
Debug.Log("触发器上箱操作");
if (transform.childCount == 0)
{
Carinformation car = transform.GetComponent<Carinformation>();
Boxinformation boxinformation = other.gameObject.transform.GetComponent<Boxinformation>();
//if (car && boxinformation)
//{
// boxinformation.ID = car.BoxCode;
//}
//float pos = other.transform.position.y + 0.5f;
other.transform.DOMoveY(other.transform.position.y + 0.42f, 0.3f).SetEase(Ease.InOutQuad).OnComplete(() =>
{
if (other.gameObject != null)
{
// 获取触发器物体的碰撞体
Collider triggerCollider = GetComponent<Collider>();
// 确保触发器物体有碰撞体
if (triggerCollider != null)
{
// 计算触发器物体顶部的世界坐标
Vector3 triggerPosition = triggerCollider.bounds.center;
Vector3 triggerTop = triggerPosition + Vector3.up * (triggerCollider.bounds.extents.y);
// 设置物体的位置
other.transform.position = triggerTop;
other.gameObject.transform.SetParent(transform);
}
else
{
Debug.LogError("触发器没有碰撞体");
}
}
else
{
Debug.LogError("没有获取到物体");
}
});
}
}
}
}