少年修仙传客户端代码仓库
client_Hale
2019-04-20 a3537e2118370592db394063070fb091f166dbad
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
2个文件已添加
10个文件已修改
306 ■■■■ 已修改文件
Core/GameEngine/Model/Config/CollectNpcConfig.cs 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CollectNpcConfig.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/DungeonStage.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Activity/ActivityNotifyBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionIncidentPanel.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HighSettingTip.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainCollectBehaviour.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/FairyJadeInvestmentModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/ConfigInitiator.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CollectNpcConfig.cs
New file
@@ -0,0 +1,205 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Saturday, April 20, 2019
//--------------------------------------------------------
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System;
using UnityEngine;
[XLua.LuaCallCSharp]
public partial class CollectNpcConfig
{
    public readonly int NPCID;
    public readonly string Icon;
    public readonly string tip;
    public CollectNpcConfig()
    {
    }
    public CollectNpcConfig(string input)
    {
        try
        {
            var tables = input.Split('\t');
            int.TryParse(tables[0],out NPCID);
            Icon = tables[1];
            tip = tables[2];
        }
        catch (Exception ex)
        {
            DebugEx.Log(ex);
        }
    }
    static Dictionary<string, CollectNpcConfig> configs = new Dictionary<string, CollectNpcConfig>();
    public static CollectNpcConfig Get(string id)
    {
        if (!inited)
        {
            Debug.Log("CollectNpcConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
        }
        CollectNpcConfig config = null;
        if (rawDatas.ContainsKey(id))
        {
            config = configs[id] = new CollectNpcConfig(rawDatas[id]);
            rawDatas.Remove(id);
        }
        return config;
    }
    public static CollectNpcConfig Get(int id)
    {
        return Get(id.ToString());
    }
    public static List<string> GetKeys()
    {
        var keys = new List<string>();
        keys.AddRange(configs.Keys);
        keys.AddRange(rawDatas.Keys);
        return keys;
    }
    public static List<CollectNpcConfig> GetValues()
    {
        var values = new List<CollectNpcConfig>();
        values.AddRange(configs.Values);
        var keys = new List<string>(rawDatas.Keys);
        foreach (var key in keys)
        {
            values.Add(Get(key));
        }
        return values;
    }
    public static bool Has(string id)
    {
        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
    }
    public static bool Has(int id)
    {
        return Has(id.ToString());
    }
    public static bool inited { get; private set; }
    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
    public static void Init(bool sync=false)
    {
        inited = false;
        var path = string.Empty;
        if (AssetSource.refdataFromEditor)
        {
            path = ResourcesPath.CONFIG_FODLER +"/CollectNpc.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/CollectNpc.txt");
        }
        var tempConfig = new CollectNpcConfig();
        var preParse = tempConfig is IConfigPostProcess;
        if (sync)
        {
            var lines = File.ReadAllLines(path);
            if (!preParse)
            {
                rawDatas = new Dictionary<string, string>(lines.Length - 3);
            }
            for (int i = 3; i < lines.Length; i++)
            {
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        var config = new CollectNpcConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.LogError(ex);
                }
            }
            inited = true;
        }
        else
        {
            ThreadPool.QueueUserWorkItem((object _object) =>
            {
                var lines = File.ReadAllLines(path);
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                for (int i = 3; i < lines.Length; i++)
                {
                    try
                    {
                       var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                        if (preParse)
                        {
                            var config = new CollectNpcConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError(ex);
                    }
                }
                inited = true;
            });
        }
    }
}
Core/GameEngine/Model/Config/CollectNpcConfig.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d73c02667c444de47a239d9ddf34fba1
timeCreated: 1555746254
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Fight/Stage/Dungeon/DungeonStage.cs
@@ -247,6 +247,7 @@
            case RidingPetBossModel.RIDINGPETBOSS_MAP:
                WindowCenter.Instance.Open<RidingPetBossHintWin>();
                break;
            case HazyGrassModel.Client_ReikiGrassMapID:
            case HazyGrassModel.FairyGrassMapId:
            case HazyGrassModel.ReikiGrassMapId:
                WindowCenter.Instance.Open<DungeonCollectItemSuccWin>();
System/Activity/ActivityNotifyBehaviour.cs
@@ -147,7 +147,7 @@
                        WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 1);
                        break;
                    case DailyQuestType.CrossServerPk:
                        WindowCenter.Instance.Open<CrossServerWin>();
                        WindowCenter.Instance.Open<CrossServerWin>(false, 1);
                        break;
                    case DailyQuestType.AllianceBoss:
                        WindowCenter.Instance.Open<LootPreciousFrameWin>(false, 3);
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -140,7 +140,7 @@
                var pkSeason = CrossServerOneVsOnePKSeason.Instance;
                if (pkSeason.IsEnterCrossServer())
                {
                    WindowCenter.Instance.Open<CrossServerWin>();
                    WindowCenter.Instance.Open<CrossServerWin>(false, 1);
                }
            }
            recordDataMapId = dataMapId;
System/DailyQuest/DailyQuestWin.cs
@@ -314,7 +314,7 @@
                    break;
                case DailyQuestType.CrossServerPk:
                    WindowCenter.Instance.Close<DailyQuestWin>();
                    WindowCenter.Instance.Open<CrossServerWin>();
                    WindowCenter.Instance.Open<CrossServerWin>(false, 1);
                    break;
                case DailyQuestType.AllianceBoss:
                    GotoAllianceBoss(_id, 0);
@@ -325,7 +325,7 @@
                    break;
                case DailyQuestType.HazyRegion:
                    WindowCenter.Instance.Close<DailyQuestWin>();
                    WindowCenter.Instance.Open<CrossServerWin>(false, 2);
                    WindowCenter.Instance.Open<CrossServerWin>(false, 0);
                    break;
                default:
                    CSharpCallLua.GotoLuaDailyQuest(_id);
System/HazyRegion/HazyRegionIncidentPanel.cs
@@ -158,33 +158,35 @@
            }
            else
            {
                if (!model.InFakeHazyRegion)
                var config = HazyRegionConfig.Get(model.selectIncident);
                if (!model.InFakeHazyRegion && config.incidentType == (int)HazyRegionIncidentType.FairyGrass)
                {
                    var config = HazyRegionConfig.Get(model.selectIncident);
                    var item = dungeonModel.GetTicketCost(config.dungeonId, config.lineId);
                    if (item.id != 0)
                    HazyRegionModel.Incident incident;
                    if (model.TryGetIncident(model.selectIncident, out incident))
                    {
                        var itemConfig = ItemConfig.Get(item.id);
                        switch ((HazyRegionIncidentType)config.incidentType)
                        if (incident.state == HazyRegionModel.IncidentState.UnStart)
                        {
                            case HazyRegionIncidentType.FairyGrass:
                            var item = dungeonModel.GetTicketCost(config.dungeonId, config.lineId);
                            if (item.id != 0)
                            {
                                var itemConfig = ItemConfig.Get(item.id);
                                ConfirmCancel.ShowItemConfirm(Language.Get("HazyRegionFairyGrassTicket",
                                    item.count, itemConfig.ItemName), item.id,
                                    item.count, () =>
                                    {
                                        var count = packModel.GetItemCountByID(PackType.Item, item.id);
                                        if (count >= item.count)
                                        {
                                            model.SendGotoIncident(model.selectIncident);
                                        }
                                        else
                                        {
                                            ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(item.id);
                                        }
                                    });
                                break;
                                            item.count, itemConfig.ItemName), item.id,
                                            item.count, () =>
                                            {
                                                var count = packModel.GetItemCountByID(PackType.Item, item.id);
                                                if (count >= item.count)
                                                {
                                                    model.SendGotoIncident(model.selectIncident);
                                                }
                                                else
                                                {
                                                    ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(item.id);
                                                }
                                            });
                                return;
                            }
                        }
                        return;
                    }
                }
                model.SendGotoIncident(model.selectIncident);
System/HazyRegion/HazyRegionModel.cs
@@ -133,7 +133,7 @@
            }
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>())
            {
                WindowCenter.Instance.Open<CrossServerWin>(false, 2);
                WindowCenter.Instance.Open<CrossServerWin>(false, 0);
            }
        }
System/MainInterfacePanel/HighSettingTip.cs
@@ -204,7 +204,7 @@
            }
            else
            {
                WindowCenter.Instance.Open<CrossServerWin>(false, 2);
                WindowCenter.Instance.Open<CrossServerWin>();
                //if (PlayerDatas.Instance.baseData.LV < limitlv)
                //{
                //    SysNotifyMgr.Instance.ShowTip("CrossMatching14", limitlv);
System/MainInterfacePanel/MainCollectBehaviour.cs
@@ -19,8 +19,7 @@
        int collectNpcId = 0;
        uint serverInstanceId = 0;
        DungeonModel dungeonModel
        {
        DungeonModel dungeonModel {
            get { return ModelCenter.Instance.GetModel<DungeonModel>(); }
        }
@@ -64,18 +63,18 @@
        void DisplayNormalCollect()
        {
            var mapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            switch (mapId)
            var config = CollectNpcConfig.Get(collectNpcId);
            if (config == null)
            {
                case 31230:
                    m_NormalCollectIcon.SetSprite("TY_UI_8");
                    m_NormalCollectLabel.text = Language.Get("Collect_FairyFeast");
                    break;
                default:
                    m_NormalCollectIcon.SetSprite("TY_UI_6");
                    m_NormalCollectLabel.text = Language.Get("Collect_Normal");
                    break;
                m_NormalCollectIcon.SetSprite("TY_UI_6");
                m_NormalCollectLabel.text = Language.Get("Collect_Normal");
            }
            else
            {
                m_NormalCollectIcon.SetSprite(config.Icon);
                m_NormalCollectLabel.text = config.tip;
            }
            m_NormalCollectIcon.SetNativeSize();
        }
System/Vip/FairyJadeInvestmentModel.cs
@@ -95,6 +95,10 @@
                }
            }
        }
        if (!FuncOpen.Instance.IsFuncOpen(118))
        {
            return false;
        }
        if (PlayerDatas.Instance.baseData.LV >= 500 && !isOpen)
        {
            return false;
Utility/ConfigInitiator.cs
@@ -291,7 +291,8 @@
        normalTasks.Add(new ConfigInitTask("AdventureDialogueConfig", () => { AdventureDialogueConfig.Init(); }, () => { return AdventureDialogueConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("MapNpcRefreshConfig", () => { MapNpcRefreshConfig.Init(); }, () => { return MapNpcRefreshConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("DungeonUseBuffConfig", () => { DungeonUseBuffConfig.Init(); }, () => { return DungeonUseBuffConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("AlchemyCountConfig", () => { AlchemyCountConfig.Init(); }, () => { return AlchemyCountConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("AlchemyCountConfig", () => { AlchemyCountConfig.Init(); }, () => { return AlchemyCountConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("CollectNpcConfig", () => { CollectNpcConfig.Init(); }, () => { return CollectNpcConfig.inited; }));
    }
    static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>();