public JLevelConfig GetLevelConfig(int index) { JLevelConfig config = null; m_LevelConfigs.TryGetValue(index, out config); return(config); }
LevelData GenerateLevelData(int levelIndex, int seed) { JLevelConfig config = GetLevelConfig(levelIndex); System.Random random = new System.Random(seed); return(LevelData.Create(config, random)); }
bool Initialize(JLevelConfig levelConfig, System.Random random) { if (levelConfig.areas == null || levelConfig.areas.Length <= 0) { Debug.LogError("关卡一定要有Area"); return(false); } levelIndex = levelConfig.index; levelName = levelConfig.name; levelType = levelConfig.levelType; areaDatas = new AreaData[levelConfig.areas.Length]; //生成每区域的数据 for (int index = 0; index < levelConfig.areas.Length; index++) { AreaData data = AreaData.Create(this, index, levelConfig.areas[index], random); if (data == null) { Debug.LogError("生成区域数据失败 area index = " + index); return(false); } else { areaDatas[index] = data; } } return(true); }
public void Initialize() { m_LevelConfigs = new Dictionary <int, JLevelConfig>(); var e = LoadJsonObject.CreateObjectFromResource <Dictionary <int, string> >("Config/Level/LevelConfig").GetEnumerator(); while (e.MoveNext()) { JLevelConfig levelConfig = LoadJsonObject.CreateObjectFromResource <JLevelConfig>(e.Current.Value); levelConfig.index = e.Current.Key; m_LevelConfigs.Add(e.Current.Key, levelConfig); } }
public static LevelData Create(JLevelConfig levelConfig, System.Random random) { LevelData levelData = new LevelData(); if (levelData.Initialize(levelConfig, random)) { return(levelData); } else { return(null); } }