using DG.Tweening; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 接线 /// public class Tool_Line: Tool_Base { /// /// 是否接上 /// public bool isConnected; /// /// 标识 /// public string id; /// /// 固定接线的螺丝 /// public List screws=new List(); /// /// 安装状态时Y的local值 /// public float InstallPosY; private Action actionBack; //protected override void OnAwake() //{ // base.OnAwake(); // id = gameObject.name; //} public void AddAction(Action actionBack) { this.actionBack = actionBack; } protected override void OnMDown() { if ((triggerAction == null ? 0 : triggerAction.Invoke(triggerName, false)) == 0) { base.OnMDown(); if (isConnected) { //取下接线 if (screws.TrueForAll(a => !a.isInstall)) { transform.DOLocalMoveY(InstallPosY - 2, 1).OnComplete(() => { isConnected = false; actionBack?.Invoke(isConnected); int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); CallScoreAction(false); }); } } else { //装上接线 if (screws.TrueForAll(a => !a.isInstall)) { transform.DOLocalMoveY(InstallPosY, 1).OnComplete(() => { isConnected = true; actionBack?.Invoke(isConnected); int state = (triggerAction == null ? 0 : triggerAction.Invoke(triggerName, true)); CallScoreAction(true); }); } } } } }