MapData.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. public class MapData
  5. {
  6. public enum MapID
  7. {
  8. Random = 0,
  9. Base = 1,
  10. Challenge = 2,
  11. Defense = 3,
  12. Flag = 4
  13. }
  14. private static System.Array mapIdArr = System.Enum.GetValues(typeof(MapID));
  15. public static MapID GetMapIdByCode(int code)
  16. {
  17. return (MapID)mapIdArr.GetValue(code);
  18. }
  19. private static MapID[] mapIds = {MapID.Challenge, MapID.Defense, MapID.Flag};//, MapID.Flag
  20. public static MapID GetRandomMap()
  21. {
  22. // return MapID.Challenge;
  23. return MapID.Flag;
  24. int index = Random.Range (0, mapIds.Length);
  25. return mapIds [index];
  26. }
  27. private static List<string> mapNameList;
  28. public static MapID GetMapIdByName(string name)
  29. {
  30. if(mapNameList == null)
  31. {
  32. string[] strArr = System.Enum.GetNames(typeof(MapID));
  33. mapNameList = new List<string>();
  34. for(int i=0; i<strArr.Length; i++)
  35. {
  36. mapNameList.Add(strArr[i]);
  37. }
  38. }
  39. int index = mapNameList.IndexOf(name);
  40. return GetMapIdByCode(index);
  41. }
  42. public enum Mode
  43. {
  44. Practice = 0,
  45. Cooperation = 1,
  46. Normal = 2
  47. }
  48. private static System.Array modeArr = System.Enum.GetValues(typeof(Mode));
  49. public static Mode GetModeByCode(int code)
  50. {
  51. return (Mode)modeArr.GetValue(code);
  52. }
  53. public MapID id;
  54. public string name;
  55. public string mission;
  56. public string description;
  57. public string[] tips;
  58. public MapData()
  59. {
  60. }
  61. public static MapID[] battlefieldMapIds = new MapID[]{MapID.Challenge, MapID.Defense, MapID.Flag};
  62. private static Dictionary<MapID, MapData> mapDict;
  63. public static Dictionary<MapID, MapData> GetMapDict()
  64. {
  65. if(mapDict == null)
  66. {
  67. mapDict = new Dictionary<MapID, MapData>();
  68. mapDict.Add(MapID.Base, new MapData(){
  69. id = MapID.Base,
  70. // name = Language.GetStr ("MapInfo", "challenge"),
  71. // description = Language.GetStr("MapInfo", "challengeDesc"),
  72. mission = Language.GetStr("MapInfo", "challengeMission"),
  73. // tips = new string[]{Language.GetStr ("MapInfo", "tip1Challenge"), Language.GetStr ("MapInfo", "tip2Challenge"), Language.GetStr ("MapInfo", "tip3Challenge")}
  74. });
  75. mapDict.Add(MapID.Challenge, new MapData(){
  76. id = MapID.Challenge,
  77. // name = Language.GetStr ("MapInfo", "challenge"),
  78. // description = Language.GetStr("MapInfo", "challengeDesc"),
  79. mission = Language.GetStr("MapInfo", "challengeMission"),
  80. // tips = new string[]{Language.GetStr ("MapInfo", "tip1Challenge"), Language.GetStr ("MapInfo", "tip2Challenge"), Language.GetStr ("MapInfo", "tip3Challenge")}
  81. });
  82. mapDict.Add(MapID.Defense, new MapData(){
  83. id = MapID.Defense,
  84. // name = Language.GetStr ("MapInfo", "defense"),
  85. // description = Language.GetStr("MapInfo", "defenseDesc"),
  86. mission = Language.GetStr("MapInfo", "defenseMission"),
  87. // tips = new string[]{Language.GetStr ("MapInfo", "tip1Defense"), Language.GetStr ("MapInfo", "tip2Defense"), Language.GetStr ("MapInfo", "tip3Defense")}
  88. });
  89. mapDict.Add(MapID.Flag, new MapData(){
  90. id = MapID.Flag,
  91. // name = Language.GetStr ("MapInfo", "flag"),
  92. // description = Language.GetStr("MapInfo", "flagDesc"),
  93. mission = Language.GetStr("MapInfo", "flagMission"),
  94. // tips = new string[]{Language.GetStr ("MapInfo", "tip1Flag"), Language.GetStr ("MapInfo", "tip2Flag"), Language.GetStr ("MapInfo", "tip3Flag")}
  95. });
  96. }
  97. return mapDict;
  98. }
  99. public static MapData GetMapDataById(MapID mapId)
  100. {
  101. if(GetMapDict().ContainsKey(mapId))
  102. return GetMapDict()[mapId];
  103. return null;
  104. }
  105. }