111 lines
6.5 KiB
C#
111 lines
6.5 KiB
C#
using Cysharp.Threading.Tasks;
|
||
using DG.Tweening;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
|
||
public class Deliveryfromstorage : MonoBehaviour
|
||
{
|
||
public Transform tarton;
|
||
public GameObject car;
|
||
public GameObject car1;
|
||
public Transform targetPosition;
|
||
public float speed = 5;
|
||
private bool isMoving = false;
|
||
|
||
async void Start()
|
||
{
|
||
|
||
car = GameObject.Find("4-1-2");
|
||
|
||
car1 = GameObject.Find("14-37-2");
|
||
tarton = car1.GetComponent<Transform>();
|
||
|
||
|
||
|
||
await Planneddisplacement();
|
||
}
|
||
|
||
private async UniTask Planneddisplacement()
|
||
{
|
||
|
||
Transform point = GameObject.Find("8-40-2").transform;
|
||
await transform.DOMove(point.transform.position, (Vector3.Distance(transform.position, point.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
|
||
Transform point2 = GameObject.Find("8-32-2").transform;
|
||
await transform.DOMove(point2.transform.position, (Vector3.Distance(transform.position, point2.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point3 = GameObject.Find("13-32-2").transform;
|
||
await transform.DOMove(point3.transform.position, (Vector3.Distance(transform.position, point3.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point4 = GameObject.Find("13-7-2").transform;
|
||
await transform.DOMove(point4.transform.position, (Vector3.Distance(transform.position, point4.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point5 = GameObject.Find("14-7-2").transform;
|
||
await transform.DOMove(point5.transform.position, (Vector3.Distance(transform.position, point5.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point4.transform.position, (Vector3.Distance(transform.position, point4.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point6 = GameObject.Find("13-1-2").transform;
|
||
await transform.DOMove(point6.transform.position, (Vector3.Distance(transform.position, point6.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point7 = GameObject.Find("14-1-2").transform;
|
||
await transform.DOMove(point7.transform.position, (Vector3.Distance(transform.position, point7.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await UniTask.Delay(4000);
|
||
await transform.DOMove(point6.transform.position, (Vector3.Distance(transform.position, point6.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point4.transform.position, (Vector3.Distance(transform.position, point4.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point8 = GameObject.Find("15-7-2").transform;
|
||
await transform.DOMove(point8.transform.position, (Vector3.Distance(transform.position, point8.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point4.transform.position, (Vector3.Distance(transform.position, point4.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point6.transform.position, (Vector3.Distance(transform.position, point6.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point7.transform.position, (Vector3.Distance(transform.position, point7.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await UniTask.Delay(1000);
|
||
await transform.DOMove(point6.transform.position, (Vector3.Distance(transform.position, point6.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point9 = GameObject.Find("13-35-2").transform;
|
||
await transform.DOMove(point9.transform.position, (Vector3.Distance(transform.position, point9.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
Transform point10 = GameObject.Find("14-35-2").transform;
|
||
await transform.DOMove(point10.transform.position, (Vector3.Distance(transform.position, point10.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point9.transform.position, (Vector3.Distance(transform.position, point9.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point6.transform.position, (Vector3.Distance(transform.position, point6.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
await transform.DOMove(point7.transform.position, (Vector3.Distance(transform.position, point7.transform.position) / speed)).SetEase(Ease.Linear).AsyncWaitForCompletion();
|
||
}
|
||
|
||
private void OnTriggerEnter(Collider other)
|
||
{
|
||
|
||
if (other.gameObject.CompareTag("Box"))
|
||
{
|
||
Carinformation car = transform.GetComponent<Carinformation>();
|
||
Boxinformation boxinformation = other.gameObject.transform.GetComponent<Boxinformation>();
|
||
if (car && boxinformation)
|
||
{
|
||
boxinformation.ID = car.BoxCode;
|
||
Debug.Log(boxinformation.ID);
|
||
}
|
||
Debug.Log("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||
other.transform.position = new Vector3(other.transform.position.x, other.transform.position.y + 0.2f, other.transform.position.z);
|
||
//other.transform.position = new Vector3(other.transform.position.x, other.transform.position.y - 0.2f, other.transform.position.z);
|
||
if (other.gameObject != null)
|
||
{
|
||
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2>
|
||
Collider triggerCollider = GetComponent<Collider>();
|
||
|
||
// ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2>
|
||
if (triggerCollider != null)
|
||
{
|
||
// <20><><EFBFBD>㴥<EFBFBD><E3B4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嶥<EFBFBD><E5B6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
Vector3 triggerPosition = triggerCollider.bounds.center;
|
||
Vector3 triggerTop = triggerPosition + Vector3.up * (triggerCollider.bounds.extents.y + -0.2f);
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
||
other.transform.position = triggerTop;
|
||
other.transform.SetParent(transform);
|
||
}
|
||
else
|
||
{
|
||
Debug.LogError("û<><C3BB><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2>");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Debug.LogError("<22><>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|