From 61ecdebb21abddc10ea86fa002dd7e7801eccc6a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 30 九月 2019 16:22:18 +0800
Subject: [PATCH] 0312 技能调整初版

---
 System/MainWin/SkillTurnplate.cs |  193 ++++++++++++++++++++++++-----------------------
 1 files changed, 99 insertions(+), 94 deletions(-)

diff --git a/System/MainWin/SkillTurnplate.cs b/System/MainWin/SkillTurnplate.cs
index e0eafbd..2e22ea9 100644
--- a/System/MainWin/SkillTurnplate.cs
+++ b/System/MainWin/SkillTurnplate.cs
@@ -9,28 +9,23 @@
 {
     public class SkillTurnplate : SkillButtonInterface
     {
-        [SerializeField] RectTransform m_SkillContainer;
-        [SerializeField] Image m_SkillGroupSign;
-        [SerializeField] float m_Sensitiveness;
-        [SerializeField] float m_TimeLimit;
-        [SerializeField, Header("鏄惁鍙嫋鎷芥粦鍔�")] bool m_Drag = true;
-        public bool drag {
-            get { return m_Drag; }
-            set { m_Drag = value; }
-        }
+        [SerializeField] Button m_SkillGroupSign;
+        [SerializeField] GameObject m_UpImg;
+        [SerializeField] GameObject m_DownImg;
+        [SerializeField] GameObject m_SkillGroup2;
 
-        Vector2 startPoint = Vector2.zero;
-        Vector2 endPoint = Vector2.zero;
+        //Vector2 startPoint = Vector2.zero;
+        //Vector2 endPoint = Vector2.zero;
 
-        float startTime = 0f;
-        float endTime = 0f;
+        //float startTime = 0f;
+        //float endTime = 0f;
 
-        float m_TargetRotationZ = 0f;
-        float refRotationZ = 0f;
+        //float m_TargetRotationZ = 0f;
+        //float refRotationZ = 0f;
 
         int groupIndex = 1;
         public int GroupIndex { get { return groupIndex; } }
-        bool turnplating = false;
+        //bool turnplating = false;
 
         TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
 
@@ -46,41 +41,46 @@
 
         public void Init()
         {
-            if (m_SkillGroupSign != null)
-            {
-                m_SkillGroupSign.gameObject.SetActive(IsSecondPanelAllow());
-            }
+            m_SkillGroupSign.AddListener(ShowSkillGroup);
+            m_SkillGroupSign.gameObject.SetActive(IsSecondPanelAllow());
+
             SwitchGroup(groupIndex);
         }
+
+        public void ShowSkillGroup()
+        {
+            SwitchGroup(groupIndex == 1 ? 2 : 1);
+        }
+
 
         public override void OnPointerDown(PointerEventData eventData)
         {
             base.OnPointerDown(eventData);
 
-            startTime = Time.time;
-            startPoint = eventData.position;
+            //startTime = Time.time;
+            //startPoint = eventData.position;
         }
 
         public override void OnPointerUp(PointerEventData eventData)
         {
             base.OnPointerUp(eventData);
 
-            endTime = Time.time;
-            endPoint = eventData.position;
+            //endTime = Time.time;
+            //endPoint = eventData.position;
 
-            if (IsValidGesture() && !turnplating && m_Drag)
-            {
-                if (IsSecondPanelAllow())
-                {
-                    var gesture = MathUtility.GetGestureDirection(startPoint, endPoint);
-                    Turn(gesture);
-                }
-                else
-                {
-                    var config = TreasureConfig.Get(GeneralDefine.skillPanelUnLock);
-                    SysNotifyMgr.Instance.ShowTip("SkillPanel_Unlock", config.Name);
-                }
-            }
+            //if (IsValidGesture() && !turnplating && m_Drag)
+            //{
+            //    if (IsSecondPanelAllow())
+            //    {
+            //        var gesture = MathUtility.GetGestureDirection(startPoint, endPoint);
+            //        Turn(gesture);
+            //    }
+            //    else
+            //    {
+            //        var config = TreasureConfig.Get(GeneralDefine.skillPanelUnLock);
+            //        SysNotifyMgr.Instance.ShowTip("SkillPanel_Unlock", config.Name);
+            //    }
+            //}
         }
 
         public void SwitchGroup(int _groupIndex)
@@ -92,48 +92,53 @@
 
             StopAllCoroutines();
             groupIndex = _groupIndex;
-            m_SkillContainer.transform.localEulerAngles = groupIndex == 1 ? Vector3.zero : new Vector3(0, 0, 180);
-            if (m_SkillGroupSign != null)
+            //m_SkillContainer.transform.localEulerAngles = groupIndex == 1 ? Vector3.zero : new Vector3(0, 0, 180);
+
+            m_UpImg.SetActive(groupIndex == 1);
+            m_DownImg.SetActive(groupIndex == 2);
+
+            if (IsSecondPanelAllow())
             {
-                m_SkillGroupSign.SetSprite(groupIndex == 1 ? "Skill_Page_1" : "Skill_Page_2");
+                m_SkillGroup2.SetActive(groupIndex == 2);
             }
         }
 
         public bool Turn(GestureType _type = GestureType.Down)
         {
-            if (turnplating)
-            {
-                return false;
-            }
-
-            if (groupIndex == 1)
-            {
-                groupIndex = 2;
-            }
-            else
-            {
-                groupIndex = 1;
-            }
-
-            if (m_SkillGroupSign != null)
-            {
-                m_SkillGroupSign.SetSprite(groupIndex == 1 ? "Skill_Page_1" : "Skill_Page_2");
-            }
-
-            switch (_type)
-            {
-                case GestureType.Down:
-                case GestureType.Left:
-                    m_TargetRotationZ = m_SkillContainer.localEulerAngles.z + 180f;
-                    StartCoroutine(Co_Turnplate(m_SkillContainer.localEulerAngles.z, m_TargetRotationZ));
-                    break;
-                case GestureType.Up:
-                case GestureType.Right:
-                    m_TargetRotationZ = m_SkillContainer.localEulerAngles.z - 180f;
-                    StartCoroutine(Co_Turnplate(m_SkillContainer.localEulerAngles.z, m_TargetRotationZ));
-                    break;
-            }
             return true;
+            //if (turnplating)
+            //{
+            //    return false;
+            //}
+
+            //if (groupIndex == 1)
+            //{
+            //    groupIndex = 2;
+            //}
+            //else
+            //{
+            //    groupIndex = 1;
+            //}
+
+            //if (m_SkillGroupSign != null)
+            //{
+            //    m_SkillGroupSign.SetSprite(groupIndex == 1 ? "Skill_Page_1" : "Skill_Page_2");
+            //}
+
+            //switch (_type)
+            //{
+            //    case GestureType.Down:
+            //    case GestureType.Left:
+            //        m_TargetRotationZ = m_SkillContainer.localEulerAngles.z + 180f;
+            //        StartCoroutine(Co_Turnplate(m_SkillContainer.localEulerAngles.z, m_TargetRotationZ));
+            //        break;
+            //    case GestureType.Up:
+            //    case GestureType.Right:
+            //        m_TargetRotationZ = m_SkillContainer.localEulerAngles.z - 180f;
+            //        StartCoroutine(Co_Turnplate(m_SkillContainer.localEulerAngles.z, m_TargetRotationZ));
+            //        break;
+            //}
+            //return true;
         }
 
         bool IsSecondPanelAllow()
@@ -142,33 +147,33 @@
             return treasureModel.TryGetTreasure(GeneralDefine.skillPanelUnLock, out treasure) && treasure.state == TreasureState.Collected;
         }
 
-        bool IsValidGesture()
-        {
-            if ((endTime - startTime) < m_TimeLimit && Vector2.Distance(startPoint, endPoint) > m_Sensitiveness)
-            {
-                return true;
-            }
+        //bool IsValidGesture()
+        //{
+        //    if ((endTime - startTime) < m_TimeLimit && Vector2.Distance(startPoint, endPoint) > m_Sensitiveness)
+        //    {
+        //        return true;
+        //    }
 
-            return false;
-        }
+        //    return false;
+        //}
 
-        IEnumerator Co_Turnplate(float _startZ, float _endZ)
-        {
-            turnplating = true;
+        //IEnumerator Co_Turnplate(float _startZ, float _endZ)
+        //{
+        //    turnplating = true;
 
-            float timer = 0f;
-            float duration = 0.5f;
-            while (timer < duration)
-            {
-                timer += Time.deltaTime;
-                m_SkillContainer.localEulerAngles = new Vector3(0, 0, Mathf.Lerp(_startZ, _endZ, Mathf.Clamp01(timer / duration)));
-                yield return null;
-            }
+        //    float timer = 0f;
+        //    float duration = 0.5f;
+        //    while (timer < duration)
+        //    {
+        //        timer += Time.deltaTime;
+        //        m_SkillContainer.localEulerAngles = new Vector3(0, 0, Mathf.Lerp(_startZ, _endZ, Mathf.Clamp01(timer / duration)));
+        //        yield return null;
+        //    }
 
-            m_SkillContainer.localEulerAngles = new Vector3(0, 0, _endZ);
+        //    m_SkillContainer.localEulerAngles = new Vector3(0, 0, _endZ);
 
-            turnplating = false;
-        }
+        //    turnplating = false;
+        //}
 
         private void OnSwitchAccount()
         {

--
Gitblit v1.8.0