using System.Collections; using System.Collections.Generic; using UnityEngine; using LzFramework; using System; using DG.Tweening; namespace DisComputer { /* * @func 映射3D零件 * @author lz * @data 2020/05/29 * */ public class RendereSpareControl : Singleton { public List spareRendererTypes; //圆盘 [SerializeField] private GameObject circlePlatGo; //圆盘缩放系数 private float circleScaleVal; private SpareRendererType curSpareRen; private float curSpareScaleVal; // Start is called before the first frame update void Start() { circleScaleVal = circlePlatGo.transform.localScale.x; circlePlatGo.transform.localScale = Vector3.zero; circlePlatGo.SetActive(false); } /// /// 显示零件渲染 /// /// public void ShowSpareRenderer(SpareType type) { for(int i = 0;i< spareRendererTypes.Count; i++) { if(spareRendererTypes[i].type == type) { spareRendererTypes[i].targetGo.SetActive(true); curSpareScaleVal = spareRendererTypes[i].targetGo.transform.localScale.x; curSpareRen = spareRendererTypes[i]; circlePlatGo.gameObject.SetActive(true); circlePlatGo.transform.DOScale(new Vector3(circleScaleVal, circleScaleVal, circleScaleVal),0.25f).SetEase(Ease.InSine); LzFramework.UI.TTUIPage.ShowPage(); break; } } } /// /// 隐藏零件渲染 /// public void HideSpareRenderer() { circlePlatGo.transform.DOScale(Vector3.zero, 0.2f).SetEase(Ease.InSine).OnComplete(()=> { circlePlatGo.SetActive(false); }); if (curSpareRen != null && curSpareRen.targetGo != null) { curSpareRen.targetGo.transform.DOScale(Vector3.zero, 0.2f).SetEase(Ease.InSine).OnComplete(() => { curSpareRen.targetGo.SetActive(false); curSpareRen.targetGo.transform.localScale = new Vector3(curSpareScaleVal, curSpareScaleVal, curSpareScaleVal); LzFramework.UI.TTUIPage.ClosePage(); //打开零件背包 LzFramework.UI.TTUIPage.ShowPage(false); MessageContainer.SendMessage(curSpareRen.type, this, MsgName.SparePartsViewAddSpare, 0.25f); }); } } } [Serializable] public class SpareRendererType { public SpareType type; public GameObject targetGo; } }