少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-26 920b4440b155573ed0285b63d3c0e788f0db44dd
6255 【前端】【2.0】神秘商店开发
9个文件已添加
6个文件已修改
212 ■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ClientPack.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA816_tagMCMysticalShopInfo.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAE_Truck.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAF_Merge.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarAutoChallenge.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GeneralConfig/GeneralDefine.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreWin.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ClientPack.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 722e5e3d30096674e811f5bd191246a0
folderAsset: yes
timeCreated: 1539228128
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HA8_Item/DTCA816_tagMCMysticalShopInfo.cs
@@ -1,11 +1,15 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
// A8 16 神秘商店商品信息 #tagMCMysticalShopInfo
public class DTCA816_tagMCMysticalShopInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
public class DTCA816_tagMCMysticalShopInfo : DtcBasic
{
    StoreModel model { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HA816_tagMCMysticalShopInfo vNetData = vNetPack as HA816_tagMCMysticalShopInfo;
    }
        var vNetData = vNetPack as HA816_tagMCMysticalShopInfo;         model.UpdateMysteryCommondities(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3e05761d690b75440a6be79207d0fb01
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1d70ccd06161e0443b7a802ad94292f8
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 71e878ac60c49ad4f964dd2dbc725739
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: eed34091b0568664b9fb42f0634496c1
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 32ceb8b7faf99f84a8b73ce53c5e3e4d
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAE_Truck.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 77f69c2b862d1704299a32d0d8eeb71e
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAF_Merge.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: fa14960fa44b0d1439bab471a764e34f
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d914565b65f8e8145988734c4d915834
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
System/FindPrecious/DemonJarAutoChallenge.cs
@@ -37,7 +37,7 @@
            lastTouchTime = Time.time;
        }
        if (Time.time - lastTouchTime < GeneralDefine.DemonJarAutoTime)
        if (Time.time - lastTouchTime < GeneralDefine.demonJarAutoTime)
        {
            return;
        }
System/FindPrecious/FindPreciousModel.cs
@@ -599,7 +599,7 @@
                return false;
            }
            if (PlayerDatas.Instance.hero != null && Time.realtimeSinceStartup - PlayerDatas.Instance.hero.calculAutoFightTime < GeneralDefine.DemonJarAutoTime)
            if (PlayerDatas.Instance.hero != null && Time.realtimeSinceStartup - PlayerDatas.Instance.hero.calculAutoFightTime < GeneralDefine.demonJarAutoTime)
            {
                return false;
            }
System/GeneralConfig/GeneralDefine.cs
@@ -1,7 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System;
using System.Text.RegularExpressions;
using System.Linq;
@@ -172,7 +172,7 @@
    public static int fairyLandBuffCondition { get; private set; }
    public static int fairyLandBuffId { get; private set; }
    public static int achievementEarlierStageLevel { get; private set; }
    public static int DemonJarAutoTime { get; private set; }
    public static int demonJarAutoTime { get; private set; }
    public static Dictionary<int, Dictionary<int, GA_NpcFightSgzcZZ.EquipRandomInfo>> SgzzRobotEquipDict { get; private set; }
    public static Dictionary<int, int> SgzcRealm { get; private set; }
@@ -181,6 +181,10 @@
    public static Dictionary<int, List<int>> skillAttrIDDict { get; private set; }
    public static int mixServerCustomDays { get; private set; }
    public static float ClientPvpAttributePer { get; private set; }
    public static int mysteryShopRefreshItem { get; private set; }
    public static Dictionary<int, int> mysteryShopRefreshItemCount { get; private set; }
    public static int mysteryShopRefreshItemValue { get; private set; }
    public static void Init()
    {
@@ -631,7 +635,7 @@
            PreloadSkillEffect = new int[2][];
            PreloadSkillEffect[0] = GetIntArray("PreloadSkillEffect");
            PreloadSkillEffect[1] = GetIntArray("PreloadSkillEffect", 2);
            DemonJarAutoTime = GetInt("DemonJarAutoTime");
            demonJarAutoTime = GetInt("DemonJarAutoTime");
            if (SgzzRobotEquipDict == null)
            {
@@ -718,6 +722,17 @@
            mixServerCustomDays = GetInt("MixServer");
            ClientPvpAttributePer = GetInt("ClientPvPAttributePer") * Constants.F_DELTA;
            mysteryShopRefreshItem = GetInt("MysteryShopRefresh");
            mysteryShopRefreshItemCount = new Dictionary<int, int>();
            var mysteryShopJson = JsonMapper.ToObject(GetInputString("MysteryShopRefresh", 2));
            foreach (var key in mysteryShopJson.Keys)
            {
                var time = int.Parse(key);
                mysteryShopRefreshItemCount[time] = (int)mysteryShopJson[key];
            }
            mysteryShopRefreshItemValue = GetInt("MysteryShopRefresh", 3);
        }
        catch (Exception ex)
        {
System/Store/StoreModel.cs
@@ -29,7 +29,7 @@
}
[XLua.LuaCallCSharp]
public class StoreModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk
public class StoreModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk, ISwitchAccount
{
    public int[] normalBuyCoinsTypes { get; private set; }
    public string UNIONSTORESAVE_KEY { get; private set; }
@@ -40,6 +40,7 @@
    public Dictionary<int, int> showCoinsUIDict { get; private set; }
    public int storeTrailerLv { get; private set; }
    public bool isShowMysteryRefreshHint = true;
    int mysteryRefreshedCount = 0;
    List<int> mysteryCommondities = new List<int>();
    bool isLogin = true;
@@ -47,7 +48,7 @@
    public event Action mysteryShopRefreshEvent;
    RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
    PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
    PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
    ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
    private bool isUpdatePlayerLv;
@@ -84,7 +85,7 @@
        TimeMgr.Instance.OnHourEvent -= RefreshServerHour;
        GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
        NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
        playerPack.refreshItemCountEvent -= UpdateFairyEquip;
        packModel.refreshItemCountEvent -= UpdateFairyEquip;
        shopItemlimitDict.Clear();
        petAndMountPushlist.Clear();
        ClearPushData();
@@ -113,7 +114,7 @@
        WindowCenter.Instance.windowAfterOpenEvent += windowAfterOpen;
        WindowCenter.Instance.windowAfterCloseEvent += windowAfterClose;
        NewBieCenter.Instance.guideBeginEvent += GuidBegin;
        playerPack.refreshItemCountEvent += UpdateFairyEquip;
        packModel.refreshItemCountEvent += UpdateFairyEquip;
        UpdateShowStore();
        SetIsMustBuyDay();
        ControllerRedPoint();
@@ -124,6 +125,11 @@
        isLogin = false;
    }
    public void OnSwitchAccount()
    {
        isShowMysteryRefreshHint = true;
    }
    public override void UnInit()
    {
        MainInterfaceWin.IsCopyOfThePanel -= OnMoveTopPart;
@@ -131,8 +137,8 @@
    public void RefreshMysteryShop()
    {
        var consumablesOwn = 0;
        var consumablesNeed = 1;
        var consumablesOwn = packModel.GetItemCountByID(PackType.Item, GeneralDefine.mysteryShopRefreshItem);
        var consumablesNeed = GetMysteryShopRefreshItemNeed();
        if (consumablesOwn >= consumablesNeed)
        {
            var info = new CA232_tagCMRefreshMysticalShop();
@@ -140,8 +146,8 @@
            return;
        }
        var moneyOwn = 0;
        var moneyNeed = 0;
        var moneyOwn = UIHelper.GetMoneyCnt(1);
        var moneyNeed = (ulong)(GeneralDefine.mysteryShopRefreshItemValue * consumablesNeed);
        if (moneyOwn >= moneyNeed)
        {
            var info = new CA232_tagCMRefreshMysticalShop();
@@ -149,7 +155,26 @@
            return;
        }
        //去充值吧
        WindowCenter.Instance.Open<RechargeTipWin>();
    }
    public int GetMysteryShopRefreshItemNeed()
    {
        var enumerator = GeneralDefine.mysteryShopRefreshItemCount.GetEnumerator();
        var need = enumerator.Current.Value;
        while (enumerator.MoveNext())
        {
            if (mysteryRefreshedCount > enumerator.Current.Key)
            {
                need = enumerator.Current.Value;
            }
            else
            {
                break;
            }
        }
        return need;
    }
    public void UpdateMysteryCommondities(HA816_tagMCMysticalShopInfo info)
@@ -419,27 +444,28 @@
    public List<StoreData> TryGetStoreDatas(StoreFunc type)
    {
        var results = new List<StoreData>();
        List<StoreData> datas = null;
        if (showStoreTypeDict.TryGetValue((int)type, out datas))
        {
            switch (type)
            {
                case StoreFunc.MysteryStore:
                    for (var i = datas.Count - 1; i >= 0; i--)
                    foreach (var item in datas)
                    {
                        var data = datas[i];
                        if (!mysteryCommondities.Contains(data.storeConfig.ID))
                        if (mysteryCommondities.Contains(item.storeConfig.ID))
                        {
                            datas.RemoveAt(i);
                            results.Add(item);
                        }
                    }
                    break;
                default:
                    results.AddRange(datas);
                    break;
            }
        }
        return datas;
        return results;
    }
    public StoreData GetStoreData(int shopId)
@@ -1463,8 +1489,8 @@
        {
            string key1 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", config.ID, "EquipPlace:", 9);
            string key2 = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "ShopId", config.ID, "EquipPlace:", 10);
            ItemModel itemModel1 = playerPack.GetItemByIndex(PackType.Equip, 9);
            ItemModel itemModel2 = playerPack.GetItemByIndex(PackType.Equip, 10);
            ItemModel itemModel1 = packModel.GetItemByIndex(PackType.Equip, 9);
            ItemModel itemModel2 = packModel.GetItemByIndex(PackType.Equip, 10);
            if (itemModel1 == null
                && (!PlayerPrefs.HasKey(key1) || LocalSave.GetBool(key1)))
            {
@@ -1856,12 +1882,14 @@
        funcOrder = -1;
        jumpShopId = 0;
    }
    #endregion
}
public enum StoreFunc
{
    MysteryStore = 1, //1:每周限购
    WeekStore = 1, //1:每周限购
    CommonStore = 2, //2:常用道具
    GrowStrongerStore = 3, //3:成长变强
    BindStore = 4,  //4:绑玉商城
@@ -1877,6 +1905,7 @@
    OSGift = 14,//开服礼包
    OSTimeLimitGift = 15,//限时特惠
    CrossOneVsOneHonor = 17,//荣誉商店
    MysteryStore = 18, //1:神秘商店
    DanDrugStore = 30, //丹药回收商店
}
System/Store/StoreWin.cs
@@ -36,6 +36,7 @@
        [SerializeField] Button m_AssistBtn;
        StoreModel model { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        private List<StoreModel.StoreData> commodities;
        private int shopId = 0;
@@ -67,6 +68,7 @@
            shopId = 0;
            model.RefreshTCBPlayerDataEvent += OnRefreshPlayerInfo;
            model.RefreshBuyShopLimitEvent += OnCreate;
            model.mysteryShopRefreshEvent += OnCreate;
            GlobalTimeEvent.Instance.secondEvent += UpdateRefreshTime;
            RefreshCoins();
            UpdateRefreshTime();
@@ -118,6 +120,7 @@
            model.CloseAllRedpoint(StoreFunc.MysteryStore);
            model.storeFuncType = StoreFunc.MysteryStore;
            model.RefreshBuyShopLimitEvent -= OnCreate;
            model.mysteryShopRefreshEvent -= OnCreate;
            GlobalTimeEvent.Instance.secondEvent -= UpdateRefreshTime;
            model.RefreshTCBPlayerDataEvent -= OnRefreshPlayerInfo;
        }
@@ -186,6 +189,7 @@
            if (commodities == null || commodities.Count == 0)
            {
                m_RefreshContainer.gameObject.SetActive(false);
                return;
            }
@@ -462,7 +466,28 @@
        private void RefreshCommondities()
        {
            model.RefreshMysteryShop();
            var config = ItemConfig.Get(GeneralDefine.mysteryShopRefreshItem);
            if (model.isShowMysteryRefreshHint)
            {
                var description1 = Language.Get("PlayerReborn102", config.ItemName);
                var own = packModel.GetItemCountByID(PackType.Item, GeneralDefine.mysteryShopRefreshItem);
                var need = model.GetMysteryShopRefreshItemNeed();
                var needMoney = need * GeneralDefine.mysteryShopRefreshItemValue;
                ConfirmCancel.IconConfirmCancel(Language.Get("Mail101"), description1, GeneralDefine.mysteryShopRefreshItem,
                 own, need, Language.Get("PlayerReborn105", needMoney), Language.Get("ConfirmCancel102"), (bool ok, bool isToggle) =>
                 {
                     if (ok)
                     {
                         model.RefreshMysteryShop();
                     }
                     model.isShowMysteryRefreshHint = !isToggle;
                 });
            }
            else
            {
                model.RefreshMysteryShop();
            }
        }
    }