70 lines
2.1 KiB
C#
70 lines
2.1 KiB
C#
using DG.Tweening;
|
|
using UnityEngine;
|
|
|
|
namespace DefaultNamespace.ProcessMode
|
|
{
|
|
public class test : MonoBehaviour
|
|
{
|
|
private AnimationProcessManager processManager;
|
|
|
|
public GameObject device1; // 假设这是场景中的一个设备
|
|
public GameObject device2; // 假设这是场景中的另一个设备
|
|
|
|
private void Start()
|
|
{
|
|
processManager = GetComponent<AnimationProcessManager>();
|
|
|
|
// 设置模式
|
|
processManager.currentMode = ProcessMode.Teaching;
|
|
|
|
// 创建步骤并避免未初始化的错误
|
|
AnimationStep step1 = null;
|
|
AnimationStep step2 = null;
|
|
|
|
|
|
step1 = new AnimationStep("Step 1: Click device1", 10, () =>
|
|
{
|
|
device1.transform.DOMove(new Vector3(0, 1, 0), 1).OnComplete(() =>
|
|
{
|
|
processManager.AddStepToProcess("Teaching", step1);
|
|
});
|
|
}, device1);
|
|
|
|
step2 = new AnimationStep("Step 2: Click device2", 20, () =>
|
|
{
|
|
device2.transform.DOScale(new Vector3(2, 2, 2), 1).OnComplete(() =>
|
|
{
|
|
processManager.AddStepToProcess("Teaching", step2);
|
|
});
|
|
}, device2);
|
|
|
|
// 向流程中添加步骤
|
|
processManager.AddStepToProcess("Teaching", step1);
|
|
processManager.AddStepToProcess("Teaching", step2);
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Input.GetMouseButtonDown(0))
|
|
{
|
|
// 假设您有方法来检测点击对象
|
|
GameObject clickedObject = DetectClickedObject();
|
|
if (clickedObject != null)
|
|
{
|
|
processManager.HandleClick(clickedObject);
|
|
}
|
|
}
|
|
}
|
|
|
|
private GameObject DetectClickedObject()
|
|
{
|
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
|
RaycastHit hit;
|
|
if (Physics.Raycast(ray, out hit))
|
|
{
|
|
return hit.collider.gameObject;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
} |