少年修仙传客户端代码仓库
client_linchunjie
2018-08-13 4a75fec2d1c5aac83fa06c08ded4015015b8c068
System/Dungeon/DungeonSuppliesLackWin.cs
@@ -23,11 +23,14 @@
        [SerializeField] TextEx m_TicketNeed;
        [SerializeField] Text m_LackContentTip;
        [SerializeField] Text m_LackMoneyTip;
        [SerializeField] Text m_ConfirmLabel;
        [SerializeField] Button m_Confirm;
        [SerializeField] Button m_Close;
        [SerializeField] Button m_TicketCompose;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -38,6 +41,7 @@
        {
            m_Confirm.AddListener(Confirm);
            m_Close.AddListener(CloseClick);
            m_TicketCompose.AddListener(TicketCompose);
        }
        protected override void OnPreOpen()
@@ -50,9 +54,11 @@
            m_TicketOwn.text = own.ToString();
            m_TicketNeed.text = StringUtility.Contact("/", lackItem.count);
            m_TicketOwn.colorType = own >= lackItem.count ? TextColType.White : TextColType.Red;
            m_TicketCompose.gameObject.SetActive(own < lackItem.count && CanComposeTicket(lackType));
            m_LackContentTip.text = GetLackContentTip(lackType);
            m_LackMoneyTip.gameObject.SetActive(own < lackItem.count);
            m_ConfirmLabel.text = GetConfirmLabel(lackType);
            if (own < lackItem.count)
            {
@@ -117,6 +123,22 @@
            else
            {
                ConfirmTodo(lackType);
            }
        }
        private void TicketCompose()
        {
            switch (lackType)
            {
                case LackType.ElderGodArea:
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ComposeTicketIce);
                    break;
                case LackType.FairyLand:
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ComposeTicketFairy);
                    break;
                case LackType.SingleIceCrystal:
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.ComposeTicketGod);
                    break;
            }
        }
@@ -271,6 +293,34 @@
            }
        }
        private string GetConfirmLabel(LackType _lackType)
        {
            switch (_lackType)
            {
                case LackType.PersonalBoss:
                case LackType.Kylin:
                case LackType.IceCrystal:
                    return Language.Get("ConfirmTarget");
                case LackType.ElderGodArea:
                case LackType.FairyLand:
                case LackType.SingleIceCrystal:
                    return Language.Get("W_CertainInto");
                default:
                    return Language.Get("ConfirmTarget");
            }
        }
        private bool CanComposeTicket(LackType _lackType)
        {
            var lackItem = GetLackItem(lackType);
            List<ItemCompoundConfig> list;
            if (ItemCompoundConfig.TryGetTicketCompose(lackItem.id, out list))
            {
                return composeModel.IsComposeTicketByType(list[0].secondType);
            }
            return false;
        }
        public enum LackType
        {
            PersonalBoss,