/* * * Metodo onde ira checar os subniveis e atribuir seus valores de cenas e se esta disponiveis, passando como parametro o componente levelInformation * * */ public void check(LevelInformation level) { subStage.SetActive(true); text.loadMenuLevelTexts(level.getLevelId()); int[] _valueLevel = level.getLevel(); // vetor de inteiro onde recebe os subniveis que estavao armazenados no LevelInformation passa no parametro GameObject[] phases = GameObject.FindGameObjectsWithTag("SubLevel"); // Vetor de gameObjects onde fica os objeto encontrado com o nome de "SubLevel" int blockedLevels = LevelManager.getBlockedLevels(); // inteiro que recebe ate qual nivel esta desbloqueado // repete um grupo de instruções inseridos para cada elemento de uma matriz ou uma coleção do objeto foreach (GameObject phase in phases) { SubLevelInformation _subLevelInformation = phase.GetComponent <SubLevelInformation>(); // Cria componente que recebe o componente criado do objeto dentro do forech switch (phase.name) // Faz uma checagem nos nomes { case "SubFase1": { // Caso nome seja igual ao do "case" _subLevelInformation.setLevel(_valueLevel[0]); // informa que este subnivel tem um seu reespectivo valor de cena _subLevelInformation.setTextLevel((level.getLevelId().ToString() + "-1")); // informa que o text que sera escrito recebe o numero do levelID mais seu subnivel break; } case "SubFase2": { _subLevelInformation.setLevel(_valueLevel[1]); _subLevelInformation.setTextLevel((level.getLevelId().ToString() + "-2")); break; } case "SubFase3": { _subLevelInformation.setLevel(_valueLevel[2]); _subLevelInformation.setTextLevel((level.getLevelId().ToString() + "-3")); break; } } if (_subLevelInformation.getLevel() >= blockedLevels) { _subLevelInformation.checkLevelState(LevelState.locked); } else { _subLevelInformation.checkLevelState(LevelState.normal); } } }
/* * Metodo onde ira checar os niveis e atribuir seus valores , se esta disponiveis */ void check() { GameObject[] phases = GameObject.FindGameObjectsWithTag("ScenePhases"); // Vetor de gameObjects onde fica os objeto encontrado com o nome de "ScenePhases" int blockedLevels = LevelManager.getBlockedLevels(); // recebe parametro ate qual niveis foi distravado // repete um grupo de instruções inseridos para cada elemento de uma matriz ou uma coleção do objeto foreach (GameObject phase in phases) { // Pega o componente "levelInformation" que esta dentro do objeto LevelInformation _levelInformation = phase.GetComponent <LevelInformation>(); _levelInformation.addRangeArray(3); // acessa o metodo para adicionar o tamanho do Array dos leveis switch (phase.name) // Verifica cada nome existente de niveis { case "fase01": { // quando o nivel for igual ao informado no case _levelInformation.setLevel(7, 8, 9); // acessar o metodo passando como parametro os id de cada cenas composta no jogo de acordo com seu tamanho break; } case "fase02": { _levelInformation.setLevel(10, 11, 12); break; } case "fase03": { _levelInformation.setLevel(13, 14, 15); break; } case "fase04": { _levelInformation.setLevel(16, 17, 18); break; } case "fase05": { _levelInformation.setLevel(19, 20, 21); break; } case "fase06": { _levelInformation.setLevel(22, 23, 24); break; } case "fase07": { _levelInformation.setLevel(25, 26, 27); break; } case "fase08": { _levelInformation.setLevel(28, 29, 30); break; } case "fase09": { _levelInformation.setLevel(31, 32, 33); break; } case "fase10": { _levelInformation.setLevel(34, 35, 36); break; } case "fase11": { _levelInformation.setLevel(37, 38, 39); break; } } // cria um vetor de inteiro que recebe tdos os niveis que esteja naquele objeto int[] _levelPhase = _levelInformation.getLevel(); // caso o array[0] for maior que o BlockedLevels, significa que este nivel e maior do que o nivel que esta disponivel if (_levelPhase[0] >= blockedLevels) { _levelInformation.checkLevelState(LevelState.locked); // informa que aquele nivel esta trancado } else { _levelInformation.checkLevelState(LevelState.normal); // informa que aquele nivel esta desbloqueado } } }