From 79457ed9f96d8b2b1e097a8e8940d09bb20385aa Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 19 四月 2019 09:44:53 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/MainInterfacePanel/MainPositionTween.cs | 279 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 164 insertions(+), 115 deletions(-)
diff --git a/System/MainInterfacePanel/MainPositionTween.cs b/System/MainInterfacePanel/MainPositionTween.cs
index 988f06d..c4dca22 100644
--- a/System/MainInterfacePanel/MainPositionTween.cs
+++ b/System/MainInterfacePanel/MainPositionTween.cs
@@ -6,6 +6,7 @@
using System.Collections;
using UnityEngine.UI;
using DG.Tweening;
+using System;
namespace Snxxz.UI
{
@@ -28,7 +29,7 @@
[SerializeField] Transform m_ContainerSkill;//鎶�鑳介潰鏉�
[SerializeField] Transform m_SkillPosition1;
[SerializeField] Transform m_SkillPosition2;
- [SerializeField] AnimationFadeOut m_AnimationFadeOut;//鍙充笅瑙掓寜閽粍
+ [SerializeField] RightBottomFadeInOut m_FunctionFadeInOut;//鍙充笅瑙掓寜閽粍
[Header("涓荤晫闈换鍔℃ā鍧�")]
public float leftMiddleSwitchTime = 0.5f;//浠诲姟闈㈡澘绉诲姩鐨勯�熷害
@@ -38,126 +39,32 @@
[SerializeField] GameObject m_LeftImage;
[SerializeField] GameObject m_RightImg;
- public bool IsSetCopyOfThePanelShow {
- get {
- return (m_RightTopFunction.localPosition - m_RightTopPosition1.localPosition).sqrMagnitude < (2.5 * 2.5);
- }
- }
+ [SerializeField] ClickScreenOtherSpace m_RayMask;//渚挎嵎鍒囨崲鎸夐挳
- 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);
- }
- }
+ TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
public bool IsTaskAndPanelShow {
get {
return (m_ContainerLeftMiddle.localPosition - m_LeftMiddlePosition1.localPosition).sqrMagnitude < 3 * 3;
}
+ }
+
+ void Start()
+ {
+ m_RayMask.AddListener(MarkRayButton);
+ }
+
+ void LateUpdate()
+ {
+ if (resetToDefaultTimer > 0f)
+ {
+ resetToDefaultTimer -= Time.deltaTime;
+ if (resetToDefaultTimer <= 0f)
+ {
+ Switch(new SwitchParam() { showDefault = true, immediately = false });
+ }
+ }
+
}
public void SetTaskPos(bool _bool)
@@ -198,7 +105,149 @@
{
m_ImageRotation.DOLocalRotate(Vector3.zero, rightBottomSwitchTime);
}
+ }
+
+ public static RightTopState rightTopState { get; private set; }
+ public static RightBottomState rightBottomState { get; private set; }
+ public static bool isDefaultState { get; private set; }
+ public static event Action<bool> switchFunctionStateEvent;
+
+ float resetToDefaultTimer = 0;
+ public void Switch(SwitchParam switchParams)
+ {
+ ProcessSwitch(switchParams);
}
+
+ private void ProcessSwitch(SwitchParam switchParams)
+ {
+ var mapId = PlayerDatas.Instance.baseData.MapID;
+ var isDungeon = MapUtility.IsDungeon(mapId);
+ var isNeutralMap = false;
+ var isBossArea = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);
+ var isGuiding = NewBieCenter.Instance.inGuiding;
+
+ if (GeneralDefine.neutralBossMaps.Contains(mapId))
+ {
+ isNeutralMap = true;
+ }
+
+ m_ContainerBossList.gameObject.SetActive(isNeutralMap);
+
+ rightTopState = RightTopState.Function;
+ if ((isDungeon || isNeutralMap || isBossArea) && !isGuiding && switchParams.showDefault)
+ {
+ rightTopState = RightTopState.Boss;
+ }
+ else
+ {
+ rightTopState = RightTopState.Function;
+ }
+
+ switch (rightTopState)
+ {
+ case RightTopState.Function:
+ if (switchParams.immediately)
+ {
+ m_RightTopFunction.localPosition = m_RightTopPosition1.localPosition;
+ m_ContainerBossList.localPosition = m_RightTopPosition2.localPosition;
+ }
+ else
+ {
+ m_RightTopFunction.DOLocalMoveY(m_RightTopPosition1.localPosition.y, rightTopSwitchTime);
+ m_ContainerBossList.DOLocalMoveY(m_RightTopPosition2.localPosition.y, rightTopSwitchTime);
+ }
+ break;
+ case RightTopState.Boss:
+ if (switchParams.immediately)
+ {
+ m_ContainerBossList.localPosition = m_RightTopPosition1.localPosition;
+ m_RightTopFunction.localPosition = m_RightTopPosition2.localPosition;
+ }
+ else
+ {
+ m_ContainerBossList.DOLocalMoveY(m_RightTopPosition1.localPosition.y, rightTopSwitchTime);
+ m_RightTopFunction.DOLocalMoveY(m_RightTopPosition2.localPosition.y, rightTopSwitchTime);
+ }
+ break;
+ }
+
+ var rightBottomState = switchParams.showDefault && !isGuiding ? RightBottomState.Skill : RightBottomState.Function;
+
+ switch (rightBottomState)
+ {
+ case RightBottomState.Function:
+ if (switchParams.immediately)
+ {
+ m_FunctionFadeInOut.SwitchImmedidately(true);
+ m_ContainerSkill.localPosition = m_SkillPosition2.localPosition;
+ }
+ else
+ {
+ m_FunctionFadeInOut.Switch(true);
+ m_ContainerSkill.DOLocalMoveX(m_SkillPosition2.localPosition.x, rightBottomSwitchTime);
+ }
+ break;
+ case RightBottomState.Skill:
+ if (switchParams.immediately)
+ {
+ m_FunctionFadeInOut.SwitchImmedidately(false);
+ m_ContainerSkill.localPosition = m_SkillPosition1.localPosition;
+ }
+ else
+ {
+ m_FunctionFadeInOut.Switch(false);
+ m_ContainerSkill.DOLocalMoveX(m_SkillPosition1.localPosition.x, rightBottomSwitchTime);
+ }
+ break;
+ }
+
+ isDefaultState = rightBottomState == RightBottomState.Skill;
+ resetToDefaultTimer = !isDefaultState ? 7f : 0f;
+ m_RayMask.gameObject.SetActive(!isDefaultState);
+
+ if (switchFunctionStateEvent != null)
+ {
+ switchFunctionStateEvent(switchParams.immediately);
+ }
+ }
+
+ private void MarkRayButton()
+ {
+ if (NewBieCenter.Instance.inGuiding)
+ {
+ return;
+ }
+
+ if (treasureModel.treasureStageUpShow || treasureModel.newGotShowing)
+ {
+ return;
+ }
+
+ Switch(new SwitchParam()
+ {
+ immediately = false,
+ showDefault = true,
+ });
+ }
+
+ public enum RightTopState
+ {
+ Function,
+ Boss,
+ }
+
+ public enum RightBottomState
+ {
+ Function,
+ Skill,
+ }
+
+ public struct SwitchParam
+ {
+ public bool showDefault;
+ public bool immediately;
+ }
+
}
}
--
Gitblit v1.8.0