//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, February 19, 2019 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using DG.Tweening; namespace Snxxz.UI { public class MainPositionTween : MonoBehaviour { [Header("切换按钮旋转")] public Vector3 Vec3 = new Vector3(0f, 0f, 225f);//切换旋转的角度 [SerializeField] Transform m_ImageRotation;//切换滚动 [Header("主界面顶部上下切换模块")] public float rightTopSwitchTime = 1f; [SerializeField] Transform m_RightTopFunction; [SerializeField] Transform m_ContainerBossList; [SerializeField] Transform m_RightTopPosition1; [SerializeField] Transform m_RightTopPosition2; [Header("主界面技能面板切换模块")] public float rightBottomSwitchTime = 1.2f; [SerializeField] Transform m_ContainerSkill;//技能面板 [SerializeField] Transform m_SkillPosition1; [SerializeField] Transform m_SkillPosition2; [SerializeField] AnimationFadeOut m_AnimationFadeOut;//右下角按钮组 [Header("主界面任务模块")] public float leftMiddleSwitchTime = 0.5f;//任务面板移动的速度 [SerializeField] Transform m_ContainerLeftMiddle; [SerializeField] Transform m_LeftMiddlePosition1; [SerializeField] Transform m_LeftMiddlePosition2; [SerializeField] GameObject m_LeftImage; [SerializeField] GameObject m_RightImg; public bool IsSetCopyOfThePanelShow { get { return (m_RightTopFunction.localPosition - m_RightTopPosition1.localPosition).sqrMagnitude < (2.5 * 2.5); } } void SetRightTopWidgetPosition(bool _bool) { if (_bool) { m_RightTopFunction.localPosition = m_RightTopPosition1.localPosition; } else { m_RightTopFunction.localPosition = m_RightTopPosition2.localPosition; } } void SetRightTopWidgetPositionTween(bool _bool) { if (_bool) { m_RightTopFunction.DOLocalMoveY(m_RightTopPosition1.localPosition.y, rightTopSwitchTime); } else { m_RightTopFunction.DOLocalMoveY(m_RightTopPosition2.localPosition.y, rightTopSwitchTime); } } void SetBossListPos(bool _bool) { if (_bool) { m_ContainerBossList.localPosition = m_RightTopPosition1.localPosition; } else { m_ContainerBossList.localPosition = m_RightTopPosition2.localPosition; } } void SetBossListTweenPos(bool _bool) { if (_bool) { m_ContainerBossList.DOLocalMoveY(m_RightTopPosition1.localPosition.y, rightTopSwitchTime); } else { m_ContainerBossList.DOLocalMoveY(m_RightTopPosition2.localPosition.y, rightTopSwitchTime); } } public void SetTipAndBossPos(bool _bool) { if (_bool) { SetRightTopWidgetPosition(true); SetBossListPos(false); } else { SetRightTopWidgetPosition(false); SetBossListPos(true); } } public void SetTipAndBossTweenPos(bool _bool) { if (_bool) { SetRightTopWidgetPositionTween(true); SetBossListTweenPos(false); } else { SetRightTopWidgetPositionTween(false); SetBossListTweenPos(true); } } public bool IsRightTipPanelShow { get { return (m_ContainerSkill.localPosition - m_SkillPosition1.localPosition).sqrMagnitude < 1; } } public void SetSkillTipOrRightTipPos(bool _bool) { if (_bool) { m_AnimationFadeOut.FadeAtOnce(); m_ContainerSkill.localPosition = m_SkillPosition1.localPosition; } else { m_AnimationFadeOut.ImmediatelyAppear(); m_ContainerSkill.localPosition = m_SkillPosition2.localPosition; } } public void SetSkillTipOrRightTipPosTween(bool _bool) { if (_bool) { m_AnimationFadeOut.FadeOut(); m_ContainerSkill.DOLocalMoveX(m_SkillPosition1.localPosition.x, rightBottomSwitchTime); } else { m_AnimationFadeOut.FadeIn(); m_ContainerSkill.DOLocalMoveX(m_SkillPosition2.localPosition.x, rightBottomSwitchTime); } } public bool IsTaskAndPanelShow { get { return (m_ContainerLeftMiddle.localPosition - m_LeftMiddlePosition1.localPosition).sqrMagnitude < 3 * 3; } } public void SetTaskPos(bool _bool) { if (_bool) { m_ContainerLeftMiddle.localPosition = m_LeftMiddlePosition1.localPosition; } else { m_ContainerLeftMiddle.localPosition = m_LeftMiddlePosition2.localPosition; } } public void SetTaskPosTween(bool _bool) { if (_bool) { m_ContainerLeftMiddle.DOLocalMoveX(m_LeftMiddlePosition1.localPosition.x, leftMiddleSwitchTime); m_LeftImage.SetActive(true); m_RightImg.SetActive(false); } else { m_ContainerLeftMiddle.DOLocalMoveX(m_LeftMiddlePosition2.localPosition.x, leftMiddleSwitchTime); m_LeftImage.SetActive(false); m_RightImg.SetActive(true); } } public void SetRotation(bool _bool) { if (_bool) { m_ImageRotation.DOLocalRotate(Vec3, rightBottomSwitchTime); } else { m_ImageRotation.DOLocalRotate(Vector3.zero, rightBottomSwitchTime); } } } }