Esempio n. 1
0
    public JLevelConfig GetLevelConfig(int index)
    {
        JLevelConfig config = null;

        m_LevelConfigs.TryGetValue(index, out config);
        return(config);
    }
Esempio n. 2
0
    LevelData GenerateLevelData(int levelIndex, int seed)
    {
        JLevelConfig config = GetLevelConfig(levelIndex);

        System.Random random = new System.Random(seed);
        return(LevelData.Create(config, random));
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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);
        }
    }
Esempio n. 5
0
    public static LevelData Create(JLevelConfig levelConfig, System.Random random)
    {
        LevelData levelData = new LevelData();

        if (levelData.Initialize(levelConfig, random))
        {
            return(levelData);
        }
        else
        {
            return(null);
        }
    }