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); }
public bool GetStageCompleted(int stage) { bool ret = false; LevelsStage curr_stage = GetLevelStage(stage); return(ret); }
public int GetStageLevelsCount(int stage) { int ret = 0; LevelsStage curr_stage = GetLevelStage(stage); if (curr_stage != null) { ret = curr_stage.levels.Count; } return(ret); }
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); }
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); }
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); }
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); }