少年修仙传客户端代码仓库
client_Wu Xijin
2018-08-13 330a4605b97e5ef23142c4cbb7ae2859900a74c5
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已修改
72 ■■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/tagItemCompoundConfig.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonSuppliesLackWin.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagItemCompoundConfig.cs
@@ -6,7 +6,7 @@
    public partial class ItemCompoundConfig : ConfigBase, IConfigPostProcess
    {
        private static Dictionary<int, Dictionary<int, Dictionary<int, List<ItemCompoundConfig>>>> allComposeModelDict = new Dictionary<int, Dictionary<int, Dictionary<int, List<ItemCompoundConfig>>>>();
        static Dictionary<int, List<ItemCompoundConfig>> ticketComposeDict = new Dictionary<int, List<ItemCompoundConfig>>();
        public void OnConfigParseCompleted()
        {
            if (!allComposeModelDict.ContainsKey(firstType))
@@ -43,6 +43,21 @@
                    }
                }
            }
            if (firstType == (int)ComposeFuncType.Ticket)
            {
                var makeItemArray = ConfigParse.GetMultipleStr<int>(makeID);
                for (int i = 0; i < makeItemArray.Length; i++)
                {
                    List<ItemCompoundConfig> list = null;
                    if (!ticketComposeDict.TryGetValue(makeItemArray[i], out list))
                    {
                        list = new List<ItemCompoundConfig>();
                        ticketComposeDict.Add(makeItemArray[i], list);
                    }
                    list.Add(this);
                }
            }
        }
@@ -105,6 +120,11 @@
            return null;
        }
        public static bool TryGetTicketCompose(int _ticketId, out List<ItemCompoundConfig> list)
        {
            return ticketComposeDict.TryGetValue(_ticketId, out list);
        }
    }
}
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,