﻿1
00:00:04,020 --> 00:00:04,950
‫Olá e bem-vindo.

2
00:00:04,950 --> 00:00:11,040
‫Nesta palestra, faremos com que, quando você usar todos os seus projéteis, seu

3
00:00:11,040 --> 00:00:13,920
‫jogo reinicie automaticamente no nível atual.

4
00:00:13,920 --> 00:00:18,540
‫Após uma pausa de 5 segundos, vamos mergulhar e ver como isso é feito.

5
00:00:19,170 --> 00:00:24,600
‫Então, um elemento deste jogo que não é particularmente divertido agora é que quando você fica sem munição, é um

6
00:00:24,600 --> 00:00:25,570
‫beco sem saída.

7
00:00:25,600 --> 00:00:29,580
‫Você não pode tentar de novo, não pode fazer mais nada, não pode passar para outro nível.

8
00:00:30,210 --> 00:00:37,920
‫Agora, a maneira de corrigir isso é nos permitir recarregar no nível atual.

9
00:00:39,000 --> 00:00:42,690
‫A maneira de fazer isso é usando uma nota especial no Blueprint.

10
00:00:42,700 --> 00:00:47,370
‫Então, se você clicar com o botão direito do mouse no gráfico de eventos, você abre seu plano de nível e clica com o botão direito no gráfico de

11
00:00:47,370 --> 00:00:47,670
‫eventos.

12
00:00:48,210 --> 00:00:50,310
‫Podemos procurar por nível aberto.

13
00:00:50,670 --> 00:00:51,660
‫E há duas opções aqui.

14
00:00:51,660 --> 00:00:55,380
‫Há um nível aberto por nome e um nível aberto por referência de objeto.

15
00:00:55,830 --> 00:00:59,250
‫Podemos usar o nível aberto pelo nome.

16
00:00:59,640 --> 00:01:06,480
‫Então aqui você tem um nó que obviamente tem efeitos colaterais porque vai recarregar o nível e tem uma entrada,

17
00:01:06,480 --> 00:01:08,910
‫que é o nome do nível aqui.

18
00:01:09,550 --> 00:01:11,970
‫Agora, como podemos obter o nome do nível atual?

19
00:01:11,970 --> 00:01:19,830
‫Poderíamos apenas digitá-lo, mas se acidentalmente renomearmos esse nível em algum momento no futuro, bem, o que podemos fazer também é

20
00:01:19,830 --> 00:01:28,890
‫clicar com o botão direito do mouse e obter o nome do nível atual, o que nos leva a outro nó que retorna o nome

21
00:01:28,890 --> 00:01:30,720
‫do nível atual .

22
00:01:30,900 --> 00:01:33,870
‫Curiosamente, esta não é uma função pura.

23
00:01:33,870 --> 00:01:36,600
‫Eu não tenho idéia do porquê, porque parece que deveria ser.

24
00:01:37,080 --> 00:01:38,300
‫E o que podemos fazer é que podemos.

25
00:01:38,340 --> 00:01:42,930
‫Mesmo que esses dois tipos sejam diferentes, um deles retorna uma string e o outro requer

26
00:01:42,930 --> 00:01:44,190
‫algo do tipo nome.

27
00:01:44,460 --> 00:01:51,060
‫Na verdade, é possível converter facilmente entre strings e nome para que possamos arrastar do valor de retorno para

28
00:01:51,060 --> 00:01:56,130
‫o valor de entrada, e um nó de conversão será criado automaticamente para nós.

29
00:01:56,550 --> 00:02:00,000
‫Também precisamos conectar o ponto de execução entre esses dois.

30
00:02:00,000 --> 00:02:04,140
‫Então, vamos converter o nome do nível atual e, em seguida, abrir o nível.

31
00:02:04,860 --> 00:02:06,810
‫Agora, quando é que queremos fazer isso?

32
00:02:06,810 --> 00:02:12,870
‫Atualmente tudo está acontecendo em um evento chave ou no início do jogo, mas há outra opção.

33
00:02:12,870 --> 00:02:20,580
‫O que podemos fazer é ter um nó especial no gráfico de eventos raiz, então não dentro de funções, mas dentro do gráfico

34
00:02:20,580 --> 00:02:23,010
‫de eventos raiz chamado nó de atraso.

35
00:02:23,010 --> 00:02:29,160
‫Então, o que vamos fazer é depois que a munição for pressionada, vamos retirar o pino de execução

36
00:02:29,160 --> 00:02:31,290
‫aqui e procurar o atraso.

37
00:02:32,280 --> 00:02:37,020
‫E então você pode ver que ele traz um tipo especial de nó com um relógio nele.

38
00:02:37,020 --> 00:02:45,420
‫E isso significa que a saída não acontece instantaneamente após a conclusão da função, mas acontece após um certo

39
00:02:45,420 --> 00:02:46,980
‫período de tempo.

40
00:02:47,010 --> 00:02:53,430
‫Então você pode ver que podemos inserir a duração aqui, e essa duração pode ser de 5 segundos, por exemplo.

41
00:02:53,430 --> 00:03:04,440
‫Então, na minha string de impressão, vou atualizá-la para dizer sem munição reiniciando em 5 segundos e depois ponto, ponto, ponto.

42
00:03:05,190 --> 00:03:15,240
‫E então podemos inserir o código que reinicia o nível na saída, o nó completo do nó de

43
00:03:15,240 --> 00:03:16,350
‫atraso.

44
00:03:16,890 --> 00:03:24,330
‫Então, se formos jogar agora, o que veremos é que posso ficar sem munição, terminar toda a minha

45
00:03:24,330 --> 00:03:26,160
‫munição, estou sem munição.

46
00:03:26,160 --> 00:03:33,390
‫E diz Reiniciando em 5 segundos e após 5 segundos, boom, o nível acabou de reiniciar.

47
00:03:33,540 --> 00:03:40,860
‫Portanto, o pequeno desafio para esta palestra é extrair uma função desses nós que acabamos de criar, obter o

48
00:03:40,890 --> 00:03:43,500
‫nível atual, nome e nível aberto.

49
00:03:43,920 --> 00:03:48,780
‫E meu desafio para você é pensar em um bom nome para esta função.

50
00:03:48,780 --> 00:03:50,190
‫Pause o vídeo e vá em frente.

51
00:03:53,670 --> 00:03:54,030
‫OK.

52
00:03:54,030 --> 00:03:54,620
‫Bem vindo de volta.

53
00:03:54,630 --> 00:03:59,220
‫Bem, vou chamá-lo de nível de reinício porque é isso que acho que está fazendo.

54
00:03:59,460 --> 00:04:07,860
‫Então, vou clicar com o botão direito do mouse em uma função e chamá-la de nível de reinicialização e está tudo bem com as entradas

55
00:04:07,860 --> 00:04:08,430
‫atuais.

56
00:04:08,430 --> 00:04:12,510
‫Não precisa ser puro porque tem o efeito colateral de reiniciar o nível.

57
00:04:12,750 --> 00:04:14,940
‫Portanto, não queremos que seja puro de qualquer maneira.

58
00:04:14,970 --> 00:04:15,630
‫Então é isso.

59
00:04:15,630 --> 00:04:22,140
‫Vou apenas reorganizar meus nós um pouco e excluir meu nó de teste e excluir minha função de teste clicando com o botão direito

60
00:04:22,140 --> 00:04:24,930
‫do mouse nele nos meus projetos e pressionando delete.

61
00:04:25,560 --> 00:04:33,150
‫E nós temos um pequeno gráfico de projeto condensado que realmente descreve exatamente o que nosso jogo pode

62
00:04:33,150 --> 00:04:36,270
‫fazer apenas em um nível muito alto.

63
00:04:36,420 --> 00:04:37,770
‫Então, estou satisfeito com os resultados disso.

64
00:04:37,770 --> 00:04:41,400
‫Parece que temos um bom loop de jogo e nos vemos na próxima palestra.

