using DG.Tweening; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Tool_UPan : Tool_Base { public bool isInstalled; protected override void OnMDown() { base.OnMDown(); if(triggerAction?.Invoke(triggerName, false)==0) Remove(); } /// /// 操作安装 /// /// /// public void Add(DeviceTrigger deviceTrigger, Action inOrUnstallAction = null) { if(!isInstalled) { isMoving = true; transform.parent = deviceTrigger.transform.parent; hand_out_action?.Invoke(); //吸附上去 transform.localEulerAngles = deviceTrigger.transform.localEulerAngles; transform.DOLocalMove(deviceTrigger.transform.localPosition, 1).OnComplete(() => { LiveSceneManager.Instance.OnCheckSubProcess(false); Debug.Log("u盘已安装"); isMoving = false; isInstalled = true; GetComponent().enabled = true; inOrUnstallAction?.Invoke(true); triggerAction?.Invoke(deviceTrigger.triggerName, true); CallScoreAction(null, deviceTrigger.triggerName); //删除手里的tip LiveSceneManager.Instance.OnCheckSubProcess(false); }); } } /// /// 拔下u盘 /// private void Remove() { if(isInstalled) { isInstalled = false; isMoving = true; transform.DOLocalMoveZ(transform.localPosition.z + 0.05f, 0.5f).OnComplete(() => { isMoving = false; triggerAction?.Invoke(triggerName, true); CallScoreAction(null, triggerName); Destroy(gameObject); }); } } /// /// 直接安装 /// /// /// public void SetState(bool isInstall, DeviceTrigger deviceTrigger) { if (isInstall) { //安装 this.isInstalled = true; transform.parent = deviceTrigger.transform.parent; transform.localEulerAngles = deviceTrigger.transform.localEulerAngles; transform.localPosition= deviceTrigger.transform.localPosition; GetComponent().enabled = true; } } }