using UnityEngine; using System.Collections; using System.Collections.Generic; public class MapData { public enum MapID { Random = 0, Base = 1, Challenge = 2, Defense = 3, Flag = 4 } private static System.Array mapIdArr = System.Enum.GetValues(typeof(MapID)); public static MapID GetMapIdByCode(int code) { return (MapID)mapIdArr.GetValue(code); } private static MapID[] mapIds = {MapID.Challenge, MapID.Defense, MapID.Flag};//, MapID.Flag public static MapID GetRandomMap() { // return MapID.Challenge; return MapID.Flag; int index = Random.Range (0, mapIds.Length); return mapIds [index]; } private static List mapNameList; public static MapID GetMapIdByName(string name) { if(mapNameList == null) { string[] strArr = System.Enum.GetNames(typeof(MapID)); mapNameList = new List(); for(int i=0; i mapDict; public static Dictionary GetMapDict() { if(mapDict == null) { mapDict = new Dictionary(); mapDict.Add(MapID.Base, new MapData(){ id = MapID.Base, name = Language.GetStr ("MapInfo", "challenge"), description = Language.GetStr("MapInfo", "challengeDesc"), mission = Language.GetStr("MapInfo", "challengeMission"), tips = new string[]{Language.GetStr ("MapInfo", "tip1Challenge"), Language.GetStr ("MapInfo", "tip2Challenge"), Language.GetStr ("MapInfo", "tip3Challenge")} }); mapDict.Add(MapID.Challenge, new MapData(){ id = MapID.Challenge, name = Language.GetStr ("MapInfo", "challenge"), description = Language.GetStr("MapInfo", "challengeDesc"), mission = Language.GetStr("MapInfo", "challengeMission"), tips = new string[]{Language.GetStr ("MapInfo", "tip1Challenge"), Language.GetStr ("MapInfo", "tip2Challenge"), Language.GetStr ("MapInfo", "tip3Challenge")} }); mapDict.Add(MapID.Defense, new MapData(){ id = MapID.Defense, name = Language.GetStr ("MapInfo", "defense"), description = Language.GetStr("MapInfo", "defenseDesc"), mission = Language.GetStr("MapInfo", "defenseMission"), tips = new string[]{Language.GetStr ("MapInfo", "tip1Defense"), Language.GetStr ("MapInfo", "tip2Defense"), Language.GetStr ("MapInfo", "tip3Defense")} }); mapDict.Add(MapID.Flag, new MapData(){ id = MapID.Flag, name = Language.GetStr ("MapInfo", "flag"), description = Language.GetStr("MapInfo", "flagDesc"), mission = Language.GetStr("MapInfo", "flagMission"), tips = new string[]{Language.GetStr ("MapInfo", "tip1Flag"), Language.GetStr ("MapInfo", "tip2Flag"), Language.GetStr ("MapInfo", "tip3Flag")} }); } return mapDict; } public static MapData GetMapDataById(MapID mapId) { if(GetMapDict().ContainsKey(mapId)) return GetMapDict()[mapId]; return null; } }