using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 灾情、到场时间、胜利条件设置动画效果 /// public class Hideshow : BaseToggle { public bool NeedShowToggle = true; public ScrollRect scrollView; private bool willbe = true; private bool showing = false; private float Speed = 20; public float height; public bool skill = false; private RectTransform rectTransform; private Toggle toggleComponent; private void Start() { rectTransform = scrollView.GetComponent(); toggleComponent = GetComponent(); } public override void RespondFun(bool value) { if (!value) { willbe = true; if (scrollView.GetComponentInChildren()) { if (skill == false) { if (scrollView.GetComponentInChildren().AnyTogglesOn()) { Toggle[] all = scrollView.GetComponentsInChildren(); for (int i = 0; i < all.Length; i++) { all[i].isOn = false; } } } else { if (scrollView.GetComponentInChildren()) { InputManager.cloneObjType = CloneObjType.None; } } } } else { willbe = false; } } void Hide(bool needShowToggle) { if (willbe && showing) { toggleComponent.interactable = false; if (!scrollView.gameObject.activeInHierarchy) scrollView.gameObject.SetActive(true); if (rectTransform.sizeDelta.y > 0) { rectTransform.sizeDelta += Vector2.down * Speed; } else { rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, 0); showing = false; scrollView.gameObject.SetActive(false); if (needShowToggle == true) toggleComponent.interactable = true; } } } void Show() { if (!willbe && !showing) { toggleComponent.interactable = false; if (!scrollView.gameObject.activeInHierarchy) scrollView.gameObject.SetActive(true); if (rectTransform.sizeDelta.y < height) { rectTransform.sizeDelta += Vector2.up * Speed; } else { rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, height); showing = true; toggleComponent.interactable = true; } if (scrollView.GetComponentInChildren()) { if (SkillTollPanel.Instance.SelectObj.GetComponent()) { if (SkillTollPanel.Instance.SelectObj.GetComponent().workType == FireManSkills.AssociatedLine) { if (scrollView.GetComponentInChildren()) { InputManager.cloneObjType = scrollView.GetComponentInChildren().clonetype; } } } } } } void Update() { Hide(NeedShowToggle); Show(); } }