From 6f16dfb8bcebe67aeb95ded0d8b644af4932e690 Mon Sep 17 00:00:00 2001 From: chenxin <chenxin6991@163.com> Date: Mon, 26 Oct 2020 21:00:32 +0800 Subject: [PATCH] 无尽模式新手步骤到水元素放置塔位完成 --- Assets/Scripts/Data/EndlessPortData.cs | 102 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 82 insertions(+), 20 deletions(-) diff --git a/Assets/Scripts/Data/EndlessPortData.cs b/Assets/Scripts/Data/EndlessPortData.cs index e117da0..cbc772f 100644 --- a/Assets/Scripts/Data/EndlessPortData.cs +++ b/Assets/Scripts/Data/EndlessPortData.cs @@ -33,7 +33,17 @@ /// </summary> private static List<endless_port> endlessPortList; + /// <summary> + /// 无尽模式新手关卡配置表 + /// </summary> + private static List<endless_port> endlessTeachPortList; + private static List<EndlessPortConfig> portConfigList; + + /// <summary> + /// 新手用 + /// </summary> + private static List<EndlessPortConfig> teachPortConfigList; private static Random random; @@ -52,11 +62,77 @@ /// </summary> public static void Init() { + random = new Random(); + InitPortConfig(); + InitTeachPortConfig(); + List<List<EndlessPortConfig>> list = GetLevelWaveData(1); + } + + /// <summary> + /// 初始化关卡配置 + /// </summary> + private static void InitPortConfig() + { endlessPortList = JsonDataCenter.GetList<endless_port>(); portConfigList = new List<EndlessPortConfig>(); - random = new Random(); + InitPortList(portConfigList, endlessPortList); + } - foreach (endless_port data in endlessPortList) + /// <summary> + /// 初始化新手的关卡配置 + /// </summary> + private static void InitTeachPortConfig() + { + List<endless_teachport> list = JsonDataCenter.GetList<endless_teachport>(); + endlessTeachPortList = new List<endless_port>(); + + foreach (endless_teachport data in list) + { + endless_port newData = new endless_port(); + newData.id = data.id; + newData.level = data.level; + newData.boss_name = data.boss_name; + newData.resource = data.resource; + newData.wave = data.wave; + newData.tunel = data.tunel; + newData.enemy_id = data.enemy_id; + newData.amount = data.amount; + newData.interval = data.interval; + newData.b_hp = data.b_hp; + newData.b_speed = data.b_speed; + newData.b_coin = data.b_coin; + newData.cooldown = data.cooldown; + + List<reward> rewardList = new List<reward>(); + foreach (reward r in rewardList) + { + reward nr = new reward(); + nr.type = r.type; + nr.id = r.id; + nr.count = r.count; + rewardList.Add(nr); + } + + newData.drop = rewardList; + + List<int> rateList = new List<int>(); + foreach (int r in rateList) + { + rateList.Add(r); + } + + newData.drop_rate = rateList; + newData.tunel_bg = data.tunel_bg; + endlessTeachPortList.Add(newData); + } + + teachPortConfigList = new List<EndlessPortConfig>(); + InitPortList(teachPortConfigList, endlessTeachPortList); + } + + private static void InitPortList(List<EndlessPortConfig> list, List<endless_port> srcList) + { + foreach (endless_port data in srcList) { if (data.level > maxLevel) maxLevel = data.level; @@ -72,24 +148,8 @@ } param.DropTotalWeight = totalWeight; - portConfigList.Add(param); + list.Add(param); } - } - - /// <summary> - /// 根据关卡等级获取boss资源id - /// </summary> - /// <param name="level">关卡等级</param> - /// <returns>如果返回-1查找失败</returns> - public static int GetResIdByLevel(int level) - { - foreach (endless_port data in endlessPortList) - { - if (data.level == level) - return data.resource; - } - - return -1; } /// <summary> @@ -106,7 +166,9 @@ ret.Add(new List<EndlessPortConfig>()); } - foreach (EndlessPortConfig data in portConfigList) + List<EndlessPortConfig> list = GameConfig.IsNewbie ? teachPortConfigList : portConfigList; + + foreach (EndlessPortConfig data in list) { if (data.Config.level != level || data.Config.amount == 0) continue; -- Gitblit v1.9.1