少年修仙传客户端代码仓库
client_Zxw
2018-10-22 50e792d70847b2e67e3d2254b3d4e8140a8007b9
4276 【前端】【1.2.0】神兽水晶选中操作优化
3个文件已修改
80 ■■■■■ 已修改文件
System/Strengthening/CrystalSelectionWin.cs 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastSlidingList.cs 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/CrystalSelectionWin.cs
@@ -14,14 +14,14 @@
    public class CrystalSelectionWin : Window
    {
        [SerializeField] Text m_TextDisplay;
        [SerializeField] Text m_NumberText;
        [SerializeField] Slider m_Slider;
        [SerializeField] Button m_AddBtn;
        [SerializeField] Button m_ReduceBtn;
        [SerializeField] Button m_DetermineBtn;
        [SerializeField] Button m_CancelBtn;
        [SerializeField] Button m_CloseBtn;
        [SerializeField] Button m_ReduceBtn;
        [SerializeField] Transform m_Tran;
        public Vector3 Pos1 = new Vector3(311,160,0);
        public Vector3 Pos2 = new Vector3(387, 160, 0);
        public Vector3 Pos3 = new Vector3(465, 160, 0);
        #region Built-in
        PlayerPackModel _playerPack;
        PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
@@ -35,17 +35,10 @@
            m_Slider.onValueChanged.AddListener(OnClickSlider);
            m_AddBtn.AddListener(OnClickAddBtn);
            m_ReduceBtn.AddListener(OnClickReduceBtn);
            m_DetermineBtn.AddListener(OnClickDetermineBtn);
            m_CancelBtn.AddListener(OnClickCancelBtn);
            m_CloseBtn.AddListener(OnClickCloseBtn);
        }
        protected override void OnPreOpen()
        {
            string str = godBeastModel.Crystal_ItemModel.chinItemModel.ItemName;
            m_TextDisplay.text = string.Format(Language.Get("OwnQuantity_SH"), godBeastModel.Crystal_ItemModel.itemInfo.ItemCount,
                UIHelper.GetTextColorByItemColor(godBeastModel.Crystal_ItemModel.chinItemModel.ItemColor, str, true));
            m_Slider.minValue = 0;
            m_Slider.maxValue = godBeastModel.Crystal_ItemModel.itemInfo.ItemCount;
            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastModel.ItemInde))
@@ -59,7 +52,23 @@
            }
            m_NumberText.text = m_Slider.value.ToString();
        }
        protected override void OnActived()
        {
            switch (godBeastModel.ItemPos)
            {
                case 1:
                    m_Tran.localPosition = Pos1;
                    break;
                case 2:
                    m_Tran.localPosition = Pos2;
                    break;
                case 3:
                    m_Tran.localPosition = Pos3;
                    break;
            }
        }
        protected override void OnAfterOpen()
        {
        }
@@ -79,6 +88,7 @@
            {
                m_Slider.value += 1;
                m_NumberText.text = m_Slider.value.ToString();
                Determine();//确认
            }
        }
        private void OnClickReduceBtn()
@@ -87,9 +97,10 @@
            {
                m_Slider.value -= 1;
                m_NumberText.text = m_Slider.value.ToString();
                Determine();//确认
            }
        }
        private void OnClickDetermineBtn()
        private void Determine()//确认
        {
            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastModel.ItemInde))
            {
@@ -100,8 +111,7 @@
                else
                {
                    godBeastModel.Absorption_Dic[godBeastModel.ItemInde] = (int)m_Slider.value;
                }
                }
            }
            else
            {
@@ -111,19 +121,11 @@
                }                  
            }
            godBeastModel.AbsorbEventUpdate();
            Close();
        }
        private void OnClickCancelBtn()
        {
            Close();
        }
        private void OnClickCloseBtn()
        {
            Close();
        }
        private void OnClickSlider(float value)
        {
            m_NumberText.text = m_Slider.value.ToString();
            Determine();//确认
        }
    }
System/Strengthening/GodBeastModel.cs
@@ -17,6 +17,7 @@
    public event Action AbsorbEvent;
    public int ItemInde = 0;//物品下标
    public ItemModel Crystal_ItemModel;//当前所选中的水晶物品
    public int ItemPos = 1;//设置弹框的位置索引
    public int ItemPlace = -1;//神兽装备位置信息
    public Dictionary<int, int> QualityLimit = new Dictionary<int, int>();//对应品质所能选择的最大强化等级
    DogzModel Dogz_model;
System/Strengthening/GodBeastSlidingList.cs
@@ -42,6 +42,7 @@
        private List<GodBeastBagClass> GodBeastBagList = new List<GodBeastBagClass>();
        private List<int> DeleteIndexList = new List<int>();
        private int Quality = 10;
        private int GetJumpIndex = 0;//获取跳转下标
        PlayerPackModel _playerPack;
        PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
        GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
@@ -385,7 +386,7 @@
            int childCode = 0;
            for (childCode = 0; childCode < cell.transform.childCount; childCode++)
            {
                int ItemPos = childCode + 1;
                GodBeastChildNodes GodBeastChildNodes = cell.transform.GetChild(childCode).GetComponent<GodBeastChildNodes>();
                int cellCount = (cell.transform.childCount) * gridlineIndex + (childCode + 1);
                if (cellCount > 100)
@@ -402,6 +403,7 @@
                if (cellCount - 1 < GodBeastBagList.Count)
                {
                    int index = cellCount - 1;
                    GodBeastChildNodes.ItemCell.gameObject.SetActive(true);
                    GodBeastBagClass godBeastBagClass = GodBeastBagList[index];
                    ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzItem, godBeastBagClass.Index);
@@ -451,16 +453,33 @@
                            {
                                godBeastModel.Crystal_ItemModel = itemModel;
                                godBeastModel.ItemInde = godBeastBagClass.Index;
                                GetJumpIndex = godBeastBagClass.Index;
                                m_ScrollerController.JumpIndex(JumpIndex());
                                godBeastModel.ItemPos = ItemPos;
                                WindowCenter.Instance.Open<CrystalSelectionWin>();
                            }
                            }
                        }
                        godBeastModel.AbsorbEventUpdate();
                    });
                }
            }
        }
        private int JumpIndex()
        {
            int jumpIndex = 0;
            for (int i = 0; i < GodBeastBagList.Count; i++)
            {
                if (GodBeastBagList[i].Index == GetJumpIndex)
                {
                    jumpIndex= Mathf.CeilToInt((float)(i+1) / 3);
                }
            }
            if (jumpIndex >= 1)
            {
                jumpIndex -= 1;
            }
            return jumpIndex;
        }
    }
}