少年修仙传客户端代码仓库
hch
2019-12-24 2ed4ceb8e3ac25f4903e17ea527d13ea3b1874df
8359 活跃放置
3个文件已修改
174 ■■■■ 已修改文件
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB028_tagCMActivityPlaceQuickFinish.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/ActivityPlaceWin.cs 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/FastFinishWin.cs 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB028_tagCMActivityPlaceQuickFinish.cs
@@ -1,16 +1,20 @@
using UnityEngine;
using System.Collections;
// B0 28 活跃放置快速完成 #tagCMActivityPlaceQuickFinish
public class CB028_tagCMActivityPlaceQuickFinish : GameNetPackBasic {
    public CB028_tagCMActivityPlaceQuickFinish () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xB028;
    }
    public override void WriteToBytes () {
    }
}
using UnityEngine;
using System.Collections;
// B0 28 活跃放置快速完成 #tagCMActivityPlaceQuickFinish
public class CB028_tagCMActivityPlaceQuickFinish : GameNetPackBasic
{
    public byte FinishCount;    //完成次数
    public CB028_tagCMActivityPlaceQuickFinish()
    {
        _cmd = (ushort)0xB028;
    }
    public override void WriteToBytes()
    {
        WriteBytes(FinishCount, NetDataType.BYTE);
    }
}
System/DailyQuest/ActivityPlaceWin.cs
@@ -26,26 +26,39 @@
        [SerializeField] Text FindCountSys;
        [SerializeField] Text NoItem;
        int m_itemID = 0;
        int m_Money = 0;
        int OneTimes = 0;
        int ButtonModel = 0; //三个状态 0. 开始探索,1.继续探索  2. 领取X次奖励
        DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        #region Built-in
        protected override void BindController()
        {
            OneTimes = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical3);
            var configNum1 = FuncConfigConfig.Get("ActivityPlace").Numerical5;
            var _jsonDataC = LitJson.JsonMapper.ToObject(configNum1);
            m_itemID = int.Parse(_jsonDataC[0].ToString());
            m_Money = int.Parse(_jsonDataC[1].ToString());
        }
        protected override void AddListeners()
        {
            m_Close.SetListener(CloseClick);
            FinishNow.SetListener(SelectFinishTimes);
            FinishNow.SetListener(()=> {
                if (playerPack.GetItemCountByID(PackType.Item, m_itemID) == 0 && PlayerDatas.Instance.baseData.bindDiamond < m_Money)
                {
                    SysNotifyMgr.Instance.ShowTip("GoldPaperErr");
                }
                else
                {
                    WindowCenter.Instance.Open<FastFinishWin>();
                }
            });
            
        }
        private void SelectFinishTimes()
        {
        }
        protected override void OnPreOpen()
        {
@@ -88,7 +101,7 @@
                m_Finding.text = Language.Get("ActivityPlaceFinding", dailyModel.ActivityPlaceInfo.PlaceCount);
            }
            if (dailyModel.ActivityPlaceInfo.RewardLen < 5)
            if (dailyModel.ActivityPlaceInfo.RewardCount <= 0)
            {
                if (remindCount != 0)
                {
@@ -140,7 +153,7 @@
                    });
                    break;
                case 2:
                    m_ButtonText.text = Language.Get("TaskBoxWin_BtnGetReward_Text_1");
                    m_ButtonText.text = Language.Get("ActivityPlaceFinding4", dailyModel.ActivityPlaceInfo.RewardCount);
                    m_Button.SetListener(() => {
                        CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
                        getReward.RewardType = (byte)GotServerRewardType.Def_RewardType_ActivityPlace;
@@ -158,7 +171,9 @@
        private void ShowFindCountSys()
        {
            int useActivity = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical2); //单次消耗活跃点
            int findCnt = dailyModel.usableActivePoint / useActivity;
            int maxCnt = int.Parse(FuncConfigConfig.Get("ActivityPlace").Numerical4);
            int findCnt = Math.Min(dailyModel.usableActivePoint / useActivity, maxCnt - dailyModel.ActivityPlaceInfo.RewardCount - dailyModel.ActivityPlaceInfo.PlaceCount);
            switch (ButtonModel)
            {
                case 0:
System/KnapSack/New/FastFinishWin.cs
@@ -15,7 +15,6 @@
    public class FastFinishWin : Window
    {
        #region 成员变量
        [SerializeField] Text m_UseItem;
        [SerializeField] Text m_UseMoney;
        [SerializeField] Slider m_SplitSlider;
@@ -25,16 +24,20 @@
        [SerializeField] Button m_SplitBtn;
        [SerializeField] Button m_CloseBtn;
        [SerializeField] ItemCell m_ItemCell;
        #endregion
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        BuffModel Buffmodel { get { return ModelCenter.Instance.GetModel<BuffModel>(); } }
        DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        private ItemModel itemModel;
        int m_itemID = 0;
        int m_Money = 0;
        int hasItemCnt = 0;
        #region Built-in
        protected override void BindController()
        {
            var configNum1 = FuncConfigConfig.Get("ActivityPlace").Numerical5;
            var _jsonDataC = LitJson.JsonMapper.ToObject(configNum1);
            m_itemID = int.Parse(_jsonDataC[0].ToString());
            m_Money = int.Parse(_jsonDataC[1].ToString());
        }
        protected override void AddListeners()
@@ -42,21 +45,23 @@
            m_SplitSlider.SetListener((float value) => { OnSplitValueChange(); });
            m_AddBtn.SetListener(OnClickAddBtn);
            m_ReduceBtn.SetListener(OnClickReduceBtn);
            m_SplitBtn.SetListener(OnClickBatchUseBtn);
            m_SplitBtn.SetListener(OnUseBtn);
            m_CloseBtn.SetListener(OnClickCloseBtn);
        }
        protected override void OnPreOpen()
        {
            OpenBatchWin();
        }
        protected override void OnAfterOpen()
        {
            InitPanel();
        }
        protected override void OnPreClose()
        {
            hasItemCnt = 0;
        }
        protected override void OnAfterClose()
@@ -65,50 +70,54 @@
        }
        #endregion
        private void OpenBatchWin()
        {
            itemModel = playerPack.GetItemByGuid(BatchUseModel.Instance.guid);
            if (itemModel == null)
            {
                return;
            }
            InitPanel();
        }
        void InitPanel()
        {
            ulong maxValue = 0;
            if (BatchUseModel.Instance.maxValue <= 0)
            int maxValue = 0;
            hasItemCnt = playerPack.GetItemCountByID(PackType.Item, m_itemID);
            if (hasItemCnt == 0)
            {
                playerPack.IsReachUseLimit(itemModel.guid, out maxValue);
                m_ItemCell.gameObject.SetActive(false);
                m_UseMoney.gameObject.SetActive(true);
                m_UseMoney.text = Language.Get("ActivityPlaceFastFinishMoney", m_Money, 1);
                maxValue = Math.Min(dailyModel.ActivityPlaceInfo.PlaceCount, (int)PlayerDatas.Instance.baseData.bindDiamond / m_Money);
            }
            else
            {
                maxValue = (ulong)BatchUseModel.Instance.maxValue;
                m_ItemCell.gameObject.SetActive(true);
                m_UseMoney.gameObject.SetActive(false);
                maxValue = hasItemCnt;
                var cellModel = new ItemCellModel(m_itemID, true, 1);
                m_ItemCell.Init(cellModel);
                m_ItemCell.button.SetListener(() =>
                {
                    ItemTipUtility.Show(m_itemID);
                });
                m_UseItem.text = Language.Get("ActivityPlaceFastFinishItem", 1);
            }
            var cellModel = new ItemCellModel(itemModel.itemId, false, (ulong)maxValue,
             itemModel.guid, itemModel.packType, false);
            m_ItemCell.Init(cellModel);
            m_ItemCell.countText.text = maxValue.ToString();
            m_SplitSlider.minValue = 1;
            m_SplitSlider.maxValue = maxValue;
            if (itemModel.config.BatchUse == 1)
            {
                m_SplitSlider.value = m_SplitSlider.minValue;
            }
            else if (itemModel.config.BatchUse == 2)
            {
                m_SplitSlider.value = m_SplitSlider.maxValue;
            }
            m_SplitSlider.value = m_SplitSlider.minValue;
            m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString();
        }
        public void OnSplitValueChange()
        {
            m_Number.text = Mathf.Ceil(m_SplitSlider.value).ToString();
            int curValue = (int)Mathf.Ceil(m_SplitSlider.value);
            m_Number.text = curValue.ToString();
            if (hasItemCnt == 0)
            {
                m_UseMoney.text = Language.Get("ActivityPlaceFastFinishMoney", m_Money*curValue, curValue);
            }
            else
            {
                m_UseItem.text = Language.Get("ActivityPlaceFastFinishItem", curValue);
            }
        }
        public void OnClickAddBtn()
@@ -127,31 +136,11 @@
            }
        }
        public void OnClickBatchUseBtn()
        public void OnUseBtn()
        {
            if (itemModel == null)
                return;
            //if (Buffmodel.BuffCover(itemModel.itemId))
            //{
            //    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("FairyLand_Func22"), (bool isOk) =>
            //    {
            //        if (isOk)
            //        {
            //            ItemOperateUtility.Instance.UseItem(itemModel.guid, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams);
            //        }
            //    }
            //    );
            //}
            if (itemModel.config.Type == (int)ItemType.Box)
            {
                ModelCenter.Instance.GetModel<BoxGetItemModel>().CheckOpenBoxCondi(itemModel.guid, itemModel.itemId, (ushort)Mathf.Ceil(m_SplitSlider.value));
            }
            else
            {
                ItemOperateUtility.Instance.UseItem(itemModel.guid, (ushort)Mathf.Ceil(m_SplitSlider.value), BatchUseModel.Instance.extraPrams);
            }
            CB028_tagCMActivityPlaceQuickFinish fastFinish = new CB028_tagCMActivityPlaceQuickFinish();
            fastFinish.FinishCount = (byte)Mathf.Ceil(m_SplitSlider.value);
            GameNetSystem.Instance.SendInfo(fastFinish);
            OnClickCloseBtn();
        }