70 lines
2.1 KiB
C#
70 lines
2.1 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using DG.Tweening;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class Displaygoods : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 判断物体身上是否有箱子
|
|
/// </summary>
|
|
public GameObject box7;
|
|
/// <summary>
|
|
/// 箱子第一个位置
|
|
/// </summary>
|
|
public Transform Box1;
|
|
public Transform Box2;
|
|
public Transform Box3;
|
|
public float speed = 5f;
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
|
|
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
public async void OnTriggerStay(Collider other)
|
|
{
|
|
if (other.gameObject.CompareTag("Car"))
|
|
{
|
|
Debug.Log("触发了小车");
|
|
|
|
if (box7.transform.childCount > 0)
|
|
{
|
|
Debug.Log("上向");
|
|
GameObject box = box7.transform.GetChild(0).gameObject;
|
|
box.transform.SetParent(null);
|
|
await Boxmove(other.gameObject,box);
|
|
}
|
|
}
|
|
}
|
|
public async UniTask Boxmove(GameObject car,GameObject box)
|
|
{
|
|
await MoveObjectToPosition(box.transform, Box1.transform.position, speed);
|
|
await MoveObjectToPosition(box.transform, Box2.transform.position, speed);
|
|
await MoveObjectToPosition(box.transform, Box3.transform.position, speed);
|
|
box.transform.SetParent(car.transform);
|
|
Transform point = GameObject.Find("11-32-2").transform;
|
|
await MoveObjectToPosition(car.transform, point.transform.position, speed);
|
|
Transform point2 = GameObject.Find("11-33-2").transform;
|
|
await MoveObjectToPosition(car.transform, point2.transform.position, speed);
|
|
}
|
|
/// <summary>
|
|
/// 上箱操作
|
|
/// </summary>
|
|
/// <param name="target"></param>
|
|
/// <param name="destination"></param>
|
|
/// <param name="speed"></param>
|
|
/// <returns></returns>
|
|
private async UniTask MoveObjectToPosition(Transform target, Vector3 destination, float speed)
|
|
{
|
|
float duration = Vector3.Distance(target.position, destination) / speed;
|
|
await target.DOMove(destination, duration).SetEase(Ease.InOutQuad).AsyncWaitForCompletion();
|
|
}
|
|
}
|