少年修仙传客户端代码仓库
client_linchunjie
2019-03-25 7e4b7889402b8e2ae132604350e262add60a326b
3335 灵根开发
2个文件已删除
2个文件已修改
214 ■■■■■ 已修改文件
System/Role/AddPointBehaviour.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/AddPointBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/ReikiRootPointBehaviour.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/ReikiRootWin.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/AddPointBehaviour.cs
File was deleted
System/Role/AddPointBehaviour.cs.meta
File was deleted
System/Role/ReikiRootPointBehaviour.cs
@@ -30,6 +30,13 @@
            }
        }
        public RectTransform openKeyboardBottom
        {
            get { return m_OpenKeyboard.transform as RectTransform; }
        }
        ReikiRootWin parent = null;
        Coroutine m_Coroutine = null;
        bool isPointAdd = false;
@@ -48,10 +55,12 @@
            UIEventTrigger.Get(m_Sub.gameObject).OnUp = OnSubUp;
            UIEventTrigger.Get(m_Add.gameObject).OnDown = OnAddDown;
            UIEventTrigger.Get(m_Add.gameObject).OnUp = OnAddUp;
            m_OpenKeyboard.AddListener(OpenKeyboard);
        }
        public void Display(int id)
        public void Display(ReikiRootWin win, int id)
        {
            parent = win;
            this.id = id;
            DisplayBase();
            DisplayPoint();
@@ -76,6 +85,7 @@
        private void OnAddDown(GameObject go)
        {
            isPointAdd = true;
            coroutineCount = 0;
            if (m_Coroutine != null)
            {
                StopCoroutine(m_Coroutine);
@@ -94,6 +104,7 @@
            {
                StopCoroutine(m_Coroutine);
            }
            coroutineCount = 0;
            isPointSub = true;
            m_Coroutine = StartCoroutine(Co_PointRefresh(false));
        }
@@ -134,6 +145,14 @@
            DisplayBase();
        }
        private void OpenKeyboard()
        {
            if (parent != null)
            {
                parent.OpenKeyboard(this);
            }
        }
        public void Dispose()
        {
            model.onReikiRootPointRefresh -= OnReikiRootPointRefresh;
System/Role/ReikiRootWin.cs
@@ -15,7 +15,9 @@
    public class ReikiRootWin : Window
    {
        [SerializeField] List<PropertyBehaviour> m_Propertys;
        [SerializeField] ReikiRootPointBehaviour[] m_ReikiRootPoints;
        [SerializeField] List<ReikiRootPointBehaviour> m_ReikiRootPoints;
        [SerializeField] RectTransform m_Container;
        [SerializeField] NumKeyBoard m_NumKeyboard;
        [SerializeField] Text m_FreePoint;
        [SerializeField] Button m_Recommend;
        [SerializeField] Button m_Confirm;
@@ -23,6 +25,10 @@
        Dictionary<int, int> currentPropertyDict = new Dictionary<int, int>();
        Dictionary<int, int> upPropertyDict = new Dictionary<int, int>();
        int openKeyboardId = 0;
        bool propertyRefreshDirty = false;
        ReikiRootModel model { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
@@ -36,21 +42,33 @@
            m_Recommend.AddListener(OnRecommend);
            m_Confirm.AddListener(Confirm);
            m_Close.AddListener(CloseClick);
            m_NumKeyboard.onValueChange.AddListener(OnPointValChange);
            m_NumKeyboard.onConfirm.AddListener((bool isOk) =>
            {
                if (isOk)
                {
                    m_NumKeyboard.gameObject.SetActive(false);
                }
            });
        }
        protected override void OnPreOpen()
        {
            model.cacheFreePoint = model.freePoint;
            for (int i = 0; i < m_ReikiRootPoints.Length; i++)
            for (int i = 0; i < m_ReikiRootPoints.Count; i++)
            {
                if (i < model.reikiRoots.Count)
                {
                    m_ReikiRootPoints[i].Display(model.reikiRoots[i]);
                    m_ReikiRootPoints[i].Display(this, model.reikiRoots[i]);
                }
            }
            m_NumKeyboard.gameObject.SetActive(false);
            model.onCacheFreePointRefresh += OnCacheFreePointRefresh;
            PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
            GlobalTimeEvent.Instance.secondEvent += PerSecond;
            Display();
        }
@@ -63,7 +81,8 @@
        {
            model.onCacheFreePointRefresh -= OnCacheFreePointRefresh;
            PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
            for (int i = 0; i < m_ReikiRootPoints.Length; i++)
            GlobalTimeEvent.Instance.secondEvent -= PerSecond;
            for (int i = 0; i < m_ReikiRootPoints.Count; i++)
            {
                m_ReikiRootPoints[i].Dispose();
            }
@@ -119,6 +138,39 @@
            }
        }
        public void OpenKeyboard(ReikiRootPointBehaviour behaviour)
        {
            openKeyboardId = behaviour.id;
            m_NumKeyboard.gameObject.SetActive(true);
            m_NumKeyboard.max = (uint)model.cacheFreePoint + (uint)behaviour.point;
            m_NumKeyboard.min = 0;
            var trans = behaviour.openKeyboardBottom;
            var worldpos = trans.TransformPoint(new Vector3(0, -trans.rect.height / 2, 0));
            var localpos = m_Container.InverseTransformPoint(worldpos);
            m_NumKeyboard.transform.localPosition = localpos;
        }
        private void OnPointValChange()
        {
            var behaviour = m_ReikiRootPoints.Find((x) =>
            {
                return x.id == openKeyboardId;
            });
            var cache = behaviour.point;
            int num = int.Parse(m_NumKeyboard.Value);
            if (model.cacheFreePoint + cache - num < 0)
            {
                num = model.cacheFreePoint + cache;
            }
            behaviour.point = num;
            model.cacheFreePoint = model.cacheFreePoint - num + cache;
            m_NumKeyboard.Value = num.ToString();
        }
        private void OnRecommend()
        {
            var recommends = model.GetReikiRootRecommendPoint(model.freePoint);
@@ -152,14 +204,22 @@
        {
            if (model.freePoint != model.cacheFreePoint)
            {
                var ids = new byte[m_ReikiRootPoints.Length];
                var values = new ushort[m_ReikiRootPoints.Length];
                for (int i = 0; i < m_ReikiRootPoints.Length; i++)
                var ids = new byte[m_ReikiRootPoints.Count];
                var values = new ushort[m_ReikiRootPoints.Count];
                for (int i = 0; i < m_ReikiRootPoints.Count; i++)
                {
                    ids[i] = (byte)m_ReikiRootPoints[i].id;
                    values[i] = (ushort)m_ReikiRootPoints[i].point;
                }
                model.SendAddPoint(ids, values);
            }
        }
        private void PerSecond()
        {
            if (propertyRefreshDirty)
            {
                DisplayProperty();
            }
        }
@@ -177,8 +237,16 @@
                {
                    reikiRootPoint.point = 0;
                }
                if (model.cacheFreePoint == model.freePoint)
                {
                    OnCacheFreePointRefresh();
                }
                model.cacheFreePoint = model.freePoint;
            }
            else
            {
                propertyRefreshDirty = true;
            }
        }
    }