Bem-vindo de volta, meus colegas desenvolvedores de jogos.
Veja o que acabamos de criar.
Nós executamos o jogo.
Veremos um dos inimigos aqui.
E quando o matarmos,
passaremos pelas portas.
E você pode ver que temos
o nível de chefe e temos a sala de saúde.
Então, se eu abrir a porta,
caminhei até o círculo aqui.
Lá vamos nós.
Vou para a sala de saúde.
Posso pegar uma saúde e posso
matar um inimigo quando ele morrer.
Tenho algo diferente aqui.
Precisaremos obviamente mudar
tudo em todos os níveis.
Mas, como você pode ver, agora, tudo funciona.
Então, não vamos perder mais tempo e vamos começar.
Certo. Então você pensou que eu te deixei, mas eu não o fiz.
Espero que você tenha feito o desafio de criar
a aparência real fora do nome.
Então, vamos seguir em frente e fazer exatamente isso.
Primeiro de tudo, vou entrar na porta e aqui, e
vou ir em frente e adicionar outro colisor de caixa,
que será o colisor de caixa 2D,
que vai ser um gatilho e vou fazer
um pouco um pouco maior.
Então, vou torná-lo grande.
Então está ao redor da porta.
E vou seguir em frente e
aplicar as alterações, aplicar as alterações.
Agora devemos ver um colisor de caixa aqui,
que também é um gatilho.
Ambos são gatilhos.
E agora vou até a porta
ou realmente entrar nos roteiros aqui.
Faça isso um pouco maior
porque mal conseguimos ver nada.
E onde devemos adicionar algum?
Vamos seguir em frente e criar uma nova pasta para a porta.
E, em seguida, abra-o e
crie um novo script que vou chamar
o nome de medo.
Pressione Enter para que isso seja compilado.
Hoje.
Agora vamos clicar duas vezes aqui,
abrir o script
e começar a digitar algumas coisas.
Então, a primeira coisa que vamos fazer é
criar um campo serializado,
que será o Mesh Pro de texto,
então usando o TMP Pro.
Então, aqui vamos salvar o texto.
Malha.
Bro GUDDAT GUI é o nome de nível UI.
E então vamos criar
um campo serializado do objeto do jogo,
que é o nome de nível Canvas.
E então criaremos um campo serializado
que manterá o objeto do jogo,
que é a porta a ser aberta.
Então, vamos acompanhar a porta para abrir.
E por que mantemos o controle das portas abertas
mesmo que eu vou adicioná-las imediatamente à porta,
posso dizer transformar ponto SAT ACT ou SAT não ativo.
Isso é o que precisamos para porta.
Mas talvez pudéssemos adicioná-lo em
um lugar diferente, então eu queria mantê-lo aqui.
Então, o que estamos fazendo?
Vamos tornar este,
o último público e você saberá por que e
apenas levá-lo a zona de porta aberta.
Portanto, isso garantirá que só possamos
abrir quando estivermos na zona.
Então, quando começarmos o jogo,
vou dizer que o nome de nível Canvas dots está
ativo como falso porque eu nunca quero vê-lo visível.
Vou criar um método
aqui que seja um vazio público.
Defina o nome do nível,
que levará uma variável de string,
que chamaremos o nome do nível.
E aqui vamos dizer que
o nome do nível ponto txt, nome do arquivo, UI.
Lá vamos nós.
O texto é igual ao nome do nível que fomos enviados.
Em seguida, uma atualização. O que vamos fazer?
Vamos dizer que se o ponto de entrada baixar a tecla com um ponto
de código de chave E.
E nós estamos, e a zona de porta aberta, Zen.
Zen, vamos Sue.
Certo.
Uma porta aberta, a porta para abrir, ponto-ponto-ponto,
ativa para falsa. Salve isso.
Agora, a próxima coisa que fazemos é no
Trigger Enter to D e o gatilho armado
sair para a saída de açúcar para D.
E eu vou verificar se
o parâmetro é realmente para a colisão.
Então, se a tag de comparação de colisão,
mesmo que provavelmente diremos
que isso só pode interagir com o jogador.
Mas eu só quero tomar
minhas precauções por precaução, por precaução.
Então aqui estão na verdade a porta.
A porta tem alguma camada nela?
Acho que não. Não há camada,
então vamos ter em mente o jogador.
Então, somente o jogador pode interagir com isso.
E o que vamos fazer é obter o nome de nível do ponto Canvas
ativo como verdadeiro.
E uma zona de porta aberta é igual a tentar.
E quando sairmos,
copiarei isso, colarei em um novo conjunto,
ativo, falso, e não estamos mais invejando zona de porta aberta.
Então eu acredito que isso é tudo.
Eu fiz isso um pouco rápido,
então talvez eu tenha cometido um erro em algum lugar.
Talvez devêssemos.
Oh, há mais uma coisa que eu quero fazer.
Se por algum motivo,
digamos que o jogador abra a porta
e então ele volta e queira abrir a segunda porta.
Quero fechar esta porta de novo.
Então, sempre que ele sair da zona,
vou dizer que a porta para abrir,
porta para abrir pensamentos,
triste, ativa é verdadeira.
Então, salve isso. Então talvez,
ou talvez o jogador realmente entre pela
porta e então ele não pode voltar
quando estiver fora da área.
Então isso significará que você
precisa tomar uma decisão antes de passar.
Então, com tudo isso fora do caminho,
acredito que seja bem simples.
Não há nada que possa ser complicado.
Vou para o nível de saída.
E em vez de ter tudo isso e começar,
vou seguir em frente e clicar com o
botão direito do mouse em ação rápida e refatoração.
E vou extrair o método.
E vou dizer que este é o nome impresso.
Aplicar.
E eu vou remover do início,
não precisamos mais disso.
E também aqui vou dizer que há um número inteiro que está
sendo enviado com o índice de nível.
Por que estou fazendo isso?
Porque você vai ver em um pouco.
Portanto, o nível a ser carregado seria igual ao
nível e aos textos enviados.
Então, agora o que podemos fazer é voltar e
o gerenciador de níveis aqui em
vez do nível de domingo para carregar,
que está no nível de saída,
podemos imprimir imediatamente
nome da sala e eu posso remover esse método.
Então imprima Exit, exit,
este público sabe que é privado.
Então, vou fazer público dizer isso aqui.
E o nome da sala de impressão.
Alugue um nome de quarto, salve isso.
Como você pode ver, isso é um pouco melhor,
um pouco mais rápido de lidar com as coisas.
Vamos salvar tudo isso.
Podemos realmente remover a impressão e, em vez disso,
precisaremos ir em frente e enviá-la
para o nome que aparece aqui.
E vamos primeiro ver
onde vamos adicionar o nome para aparecer.
Vamos salvar isso.
E vamos ver, vamos adicioná-lo às portas.
Vamos adicioná-lo a dois ou um.
E vamos aplicar as alterações.
Então agora, debaixo de um, veremos
tudo o que o bloqueou
e adicionaremos alguns elementos aqui.
Então, o nível, o nome,
peso, este é o texto exibido,
esta é a tela inteira.
Então temos o nome do nível como o texto
Mesh Pro e a porta para abrir,
que é o atual.
E na zona aberta,
por que eu fiz isso público?
Ainda não sei. Vamos para o nome
aparecer e, assim, remover a classe, torná-la privada.
Nem me lembro por que decidi tornar público.
Talvez só para garantir que tudo funcione.
Talvez, de qualquer forma,
e se eu aplicar as mudanças,
podemos ver isso na porta.
Se eu rolar para baixo e
tivermos todas essas opções e ela estiver realmente
anexada à porta 1 e
a exibição de texto também estiver anexada à porta, o
que é muito ruim.
E tudo estará nisso.
Então, precisamos fazer tudo à mão aqui.
Então, na tela,
no nome do nível
e vai para oh, não, não, não, não, não, não.
Isso é porque temos esse bloqueio para baixo.
Se eu clicar na porta real,
veremos que fiquei tão confuso com isso
porque sei que quando você
aplica as mudanças na porta,
você pode ver que apenas a porta
está presa, mas a porta 2,
você pode ver que o texto está bem aqui
e o nome do nível é aquele que está bem aqui,
que é o que queremos.
Então este é o incrível trabalho dos prefabs.
E fiquei muito confuso por um segundo lá
porque eu tinha essa fechadura e cliquei na porta.
Foi o mesmo.
De qualquer forma, não se preocupe com isso.
Agora que isso está fora do caminho,
vamos salvar isso.
E agora precisamos enviar de alguma forma,
ou é o nível de saída que precisamos enviar
esta substring de nome para o nome aparecer.
Então vou dizer que aqui temos
o campo serializado do objeto do jogo.
A porta.
E aqui temos o nome que aparece,
qual nós onde o temos?
Ok, então nome do subnível. Lá vamos nós.
Então, vou remover essas duas partes.
E então diga que a porta 0 que o componente Get,
que é o nome,
aparece o nome do nível definido.
Vamos fechar isso e agora teremos
tudo funcionando.
Ok, então aqui no portal um,
eu atribuí a porta um.
Então, por algum motivo, temos as coisas um pouco estranhas.
Talvez possamos mover o portal aqui,
e o portal aqui,
eu posso apenas dizer,
mas assim o portal um terá a porta como porta.
Então a porta 1 e a porta
1 e o portal normal terão a porta normal.
Nós salvamos tudo isso.
E agora há mais uma coisa que
precisamos levar em consideração.
E isso é algo que eu pensei
todo o caminho ao criar isso.
E isso é, na verdade, abrimos a porta imediatamente.
Não sei se você notou isso.
Por que isso?
Bem, porque se entrarmos no onde está?
Um dos componentes aqui,
que é a sala, o gerente da sala que você pode ver aqui.
Se clicarmos duas vezes no gerente da sala,
você verá que na atualização
temos se a contagem de inimigos for igual a 0,
então definiremos todas as portas para agir.
E o problema aqui é que os inimigos
estão sempre faltando 0,
então a porta é aberta imediatamente.
Então, o que vou fazer aqui é
apenas verificar para abrir os inimigos do Goldman.
Isso é não, não isso.
Eu só vou remover isso e podemos
realmente adicionar essa mecânica e ao jogo.
E talvez no spawner de ondas
quando instanciamos os inimigos.
Então, quando geramos os inimigos,
podemos torná-los filhos da sala.
Onde estão os inimigos aqui.
Podemos torná-los filhos desses inimigos.
Então podemos acabar com o gerente da sala.
Em vez de apenas pegar os inimigos,
verificar as sobreposições, coliders,
desculpe, aqui e comece.
Podemos fazer com uma atualização a cada dois segundos.
Então certifique-se de que não abrimos
a porta ou não verificamos
isso até seguirmos em frente e matamos todos os inimigos.
Tudo isso é possível.
Mas por uma questão de simplicidade,
por uma questão de passar por isso,
vou apenas entrar no
gerente da sala e apenas comentar isso, salvar isso
de volta em nosso jogo, executar o jogo.
E devemos ver agora que as portas estão todas fechadas.
O nome do nível aqui e o nome do nível ou TI,
isso é algo que queremos corrigir.
Não queremos ser capazes de ver qual
é o nível ou que ele seja exibido.
Você pode ver aqui que está sendo destruído.
Vou atirar no inimigo
e veremos quando ele for morto.
Então, quando ele morrer, agora quando eu chegar,
você pode ver que agora temos
o chefe de nível e temos a loja.
Posso abrir isso se eu sair.
Você pode ver que ele não fecha por algum motivo.
Se eu for aqui,
vou abrir isso, depois vou embora.
Ele não fecha. Isso é algo que vamos consertar,
mas de qualquer forma, esse era o nível de chefe.
Vamos ver se vamos para o nível de chefe.
Lá vamos nós.
Como você pode ver, nós claramente vamos ao chefe.
Amor. Quão legal é isso?
Então agora que o chefe é que eu vou, lá vamos nós.
Então o chefe morre.
Vamos esperar que isso se abra.
E, obviamente, precisamos
mudar algumas coisas aqui.
Então, antes de tudo, o nome do nível,
frio no ano e o nível de saída no
nome aparecem no início Canvas,
estamos definindo toda a tela como false.
Mas quando entramos,
estamos definindo a tela como verdadeira e estaremos
consertando tudo isso talvez no próximo vídeo.
Mas a mecânica funciona,
os níveis funcionam, e eu te vejo no próximo.
Certifique-se de confirmar todas as suas alterações.