Beispiel #1
0
    private void Awake()
    {
        InitInstance(this, gameObject);

        Level[] levels_arr = (Level[])Resources.FindObjectsOfTypeAll(typeof(Level));

        for (int i = 0; i < levels_arr.Length; ++i)
        {
            Level curr_level = levels_arr[i];

            int stage_index = curr_level.GetLevelStage();

            LevelsStage stage = GetLevelStage(stage_index);

            if (stage != null)
            {
                stage.AddLevel(curr_level);
            }
            else
            {
                LevelsStage new_stage = new LevelsStage();
                new_stage.stage = stage_index;

                level_stages.Add(new_stage);

                new_stage.AddLevel(curr_level);
            }
        }

        level_start_ui.gameObject.SetActive(false);
        level_end_ui.gameObject.SetActive(false);
        levels_ui.gameObject.SetActive(false);
    }
Beispiel #2
0
    public bool GetStageCompleted(int stage)
    {
        bool ret = false;

        LevelsStage curr_stage = GetLevelStage(stage);

        return(ret);
    }
Beispiel #3
0
    public int GetStageLevelsCount(int stage)
    {
        int ret = 0;

        LevelsStage curr_stage = GetLevelStage(stage);

        if (curr_stage != null)
        {
            ret = curr_stage.levels.Count;
        }

        return(ret);
    }
Beispiel #4
0
    public bool StartStage(int stage)
    {
        bool ret = false;

        LevelsStage curr_stage = GetLevelStage(stage);

        if (curr_stage != null)
        {
            curr_level_stage = curr_stage;

            ret = true;
        }

        return(ret);
    }
Beispiel #5
0
    private void Start()
    {
        for (int i = 0; i < level_stages.Count; ++i)
        {
            LevelsStage stage = level_stages[i];

            for (int y = 0; y < stage.levels.Count; ++y)
            {
                stage.levels[y].gameObject.SetActive(false);
            }
        }

        EventManager.Instance.Suscribe(OnEvent);

        StartStage(0);
    }
Beispiel #6
0
    public LevelsStage GetLevelStage(int stage)
    {
        LevelsStage ret = null;

        for (int i = 0; i < level_stages.Count; ++i)
        {
            LevelsStage curr_stage = level_stages[i];

            if (curr_stage.stage == stage)
            {
                ret = curr_stage;
                break;
            }
        }

        return(ret);
    }
Beispiel #7
0
    public Level GetLevel(int level_stage, int level_num)
    {
        Level ret = null;

        LevelsStage curr_stage = GetLevelStage(level_stage);

        if (curr_stage != null)
        {
            for (int i = 0; i < curr_stage.levels.Count; ++i)
            {
                Level level = curr_stage.levels[i];

                if (level.GetLevelNumber() == level_num)
                {
                    ret = level;
                    break;
                }
            }
        }

        return(ret);
    }