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()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }
    private async void OnTriggerEnter(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(box);
        //    }
        //}
    }
    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 box.transform.DOMove(Box1.transform.position, (Vector3.Distance(box.transform.position, Box1.transform.position) / speed)).SetEase(Ease.InOutQuad).AsyncWaitForCompletion();
        await box.transform.DOMove(Box2.transform.position, (Vector3.Distance(box.transform.position, Box2.transform.position) / speed)).SetEase(Ease.InOutQuad).AsyncWaitForCompletion();
        await box.transform.DOMove(Box3.transform.position, (Vector3.Distance(box.transform.position, Box3.transform.position) / speed)).SetEase(Ease.InOutQuad).AsyncWaitForCompletion();
        box.transform.SetParent(car.transform);
        Transform point = GameObject.Find("11-32-2").transform;
        await car.transform.DOMove(point.transform.position,(Vector3.Distance(car.transform.position,point.transform.position)/speed)).SetEase(Ease.InOutQuad).AsyncWaitForCompletion();
        Transform point2 = GameObject.Find("11-33-2").transform;
        await car.transform.DOMove(point2.transform.position, (Vector3.Distance(car.transform.position, point2.transform.position) / speed)).SetEase(Ease.InOutQuad).AsyncWaitForCompletion();
    }
}