1 // Copyright (C) 2015 Kazuhiro Fujieda <fujieda@users.osdn.me>
\r
3 // Licensed under the Apache License, Version 2.0 (the "License");
\r
4 // you may not use this file except in compliance with the License.
\r
5 // You may obtain a copy of the License at
\r
7 // http://www.apache.org/licenses/LICENSE-2.0
\r
9 // Unless required by applicable law or agreed to in writing, software
\r
10 // distributed under the License is distributed on an "AS IS" BASIS,
\r
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
12 // See the License for the specific language governing permissions and
\r
13 // limitations under the License.
\r
16 using System.Collections.Generic;
\r
20 namespace KancolleSniffer
\r
22 public static class DataLoader
\r
24 private static readonly string EnemySlotFile =
\r
25 Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "EnemySlot.csv");
\r
27 private static Dictionary<int, int[]> _maxEq;
\r
29 public static void LoadEnemySlot()
\r
33 _maxEq = File.ReadLines(EnemySlotFile)
\r
34 .Select(line => line.Split(',').Select(s => int.TryParse(s, out var num) ? num : 0))
\r
35 .ToDictionary(nums => nums.First(), nums => nums.Skip(1).ToArray());
\r
42 public static int[] EnemySlot(int id) =>
\r
43 _maxEq != null ? _maxEq.TryGetValue(id, out var slot) ? slot : null : null;
\r
45 private const string FileName = "TP.csv";
\r
47 private static readonly string TpFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, FileName);
\r
49 private static Dictionary<int, double> _tpSpec;
\r
51 public static void LoadTpSpec()
\r
55 _tpSpec = File.ReadAllLines(TpFile)
\r
56 .Select(line => line.Split(','))
\r
57 .ToDictionary(f => int.Parse(f[0]), f => double.Parse(f[2]));
\r
62 catch (Exception ex)
\r
64 throw new Exception(FileName + "が壊れています。", ex);
\r
68 public static double ItemTp(int id) =>
\r
69 _tpSpec != null ? _tpSpec.TryGetValue(id, out var tp) ? tp : -1 : -1;
\r