﻿1
00:00:04,390 --> 00:00:05,590
‫こんにちは､ ようこそ｡

2
00:00:05,590 --> 00:00:10,180
‫この講義では､ 現在掴んでいるオブジェクトにタグを追加していきます｡

3
00:00:10,180 --> 00:00:17,740
‫そこで､ このガーゴイル像のタグを8つ取り出して見てみると､ このようなタグがついていることがわかります｡

4
00:00:17,740 --> 00:00:25,210
‫このままガーゴイルをリリースして､ もう一度見てみると､ タグが消えているのがわかると思います｡

5
00:00:25,210 --> 00:00:33,220
‫これにより､ このシーンに登場する他のゲームプレイに､ ガーゴイルは現在保持されており､ 奪われてはいけないということを伝えることができます｡

6
00:00:33,220 --> 00:00:35,440
‫では､ どのように実装するのか､ 早速見ていきましょう｡

7
00:00:36,430 --> 00:00:42,670
‫だから､ ガーゴイルをトリガーエリアに落とした瞬間に､ トリガーエリアがガーゴイルをひったくるような感じで､

8
00:00:42,670 --> 00:00:47,620
‫こちらが離し終わるのを待たずに､ ガーゴイルが逃げてしまうんです｡

9
00:00:47,650 --> 00:00:54,430
‫そして､ そのガーゴイルがグラボに捕まっているという事実を､ トリガーエリアは全く意識していないからです｡

10
00:00:54,790 --> 00:01:02,050
‫そのために､ トリガーコンポーネントに対して､ Gargoyleを保持していることを伝えるために､

11
00:01:02,050 --> 00:01:12,070
‫再びタグを使用することにします｡

12
00:01:12,100 --> 00:01:18,880
‫現在､ 私たちがヒットしたコンポーネントで行っていることは､

13
00:01:18,880 --> 00:01:25,630
‫単に先に進んで､ すべての剛体を起こすことです｡

14
00:01:25,720 --> 00:01:29,440
‫そこで､ 今やりたいことは､ 新しいタグを追加することです｡

15
00:01:29,440 --> 00:01:30,130
‫どうすればいいのか？

16
00:01:30,130 --> 00:01:32,800
‫さて､ まずは問題の俳優を手に入れる必要があります｡

17
00:01:32,800 --> 00:01:44,020
‫そこで､ result dotを押してアクターを取得し､ そのアクターポインターを使って矢印でタグを探します｡

18
00:01:44,050 --> 00:01:46,930
‫さて､ tagsはtの配列であるプロパティです｡

19
00:01:46,930 --> 00:01:50,380
‫つまり､ t配列はf名のt配列ということですね｡

20
00:01:50,680 --> 00:01:56,680
‫そこで､ このトレイを操作して､ タグを追加したり削除したりできるようにする必要があります｡

21
00:01:56,680 --> 00:02:00,910
‫では､ トレイに戻り､ 何が使えるか見てみましょう｡

22
00:02:01,210 --> 00:02:07,780
‫ADDで検索すると､ 要素の型（この場合はF名）を渡すと､ 配列の末尾に新しい項目を追加して､

23
00:02:07,780 --> 00:02:19,480
‫そのためのスペースを確保するために必要なすべての仕事を行う機能がたくさんあることがわかります｡

24
00:02:19,780 --> 00:02:28,810
‫removeで検索すると､ removeに言及しているものは一杯ありますが､ 実際にremoveという名前を持つメソッドはほんの数種類です｡

25
00:02:28,810 --> 00:02:32,560
‫そして､ 配列に存在する多くの項目のインスタンスを削除していることがわかります｡

26
00:02:32,560 --> 00:02:33,550
‫では､ その言葉とは？

27
00:02:33,550 --> 00:02:41,800
‫配列の中にその項目があれば､ その項目のインスタンスをすべて削除すると言っているのです｡

28
00:02:41,800 --> 00:02:46,720
‫だから､ 同じ名前のタグを複数入れても､ 全部削除されてしまう｡

29
00:02:46,720 --> 00:02:53,470
‫一方､ さらに下にはremove atがあり､ これは要素､ つまり特定のインデックスを削除するものです｡

30
00:02:53,470 --> 00:03:02,440
‫なぜなら､ タグ名（ここではgrabと呼ぶ）で削除したいからです｡

31
00:03:02,440 --> 00:03:08,350
‫まず､ Visual Studioのコードに戻り､ このタグの配列を追加してみましょう｡

32
00:03:08,350 --> 00:03:14,380
‫つまり､ ポインタではなく実際の配列なので､ 単純にドットで囲むだけでいいわけです｡

33
00:03:14,470 --> 00:03:21,520
‫それからaddを呼び出して､ grabという文字列を使ったF名を追加します｡

34
00:03:21,520 --> 00:03:30,610
‫このように､ オブジェクトを掴んだら､ 掴んだというタグを追加して､ コンパイルして確認しましょう｡

35
00:03:30,610 --> 00:03:37,360
‫F8 を押して所有することで､ ガーゴイルのアクタを選択して､

36
00:03:37,360 --> 00:03:48,460
‫スクロールダウンしてアクタタグを確認できます｡

37
00:03:48,460 --> 00:03:50,720
‫だから､ それはアドバンスドの下のアクターズセクションにあるんだ｡

38
00:03:50,740 --> 00:03:51,910
‫タグを見てもらうことができる｡

39
00:03:51,910 --> 00:03:53,560
‫そこには､ 3つのタグがあることがわかります｡

40
00:03:53,560 --> 00:03:59,470
‫現在､ 1つロックを解除してもらい､ それを解除しなかったために掴まされ､ また掴まされています｡

41
00:03:59,470 --> 00:04:05,620
‫実は､ 間違って2回掴んでしまうと､ タグが2回追加されてしまうんです｡

42
00:04:05,620 --> 00:04:10,660
‫だから､ アクターをリリースするときには､ タグを削除してほしいんです｡

43
00:04:10,660 --> 00:04:17,230
‫つまり､ get ownerで所有するアクタを取得できることを思い出しながら､ releaseでアクタを取得するわけです｡

44
00:04:17,230 --> 00:04:28,210
‫すでにコンポーネントを持っている場合は､ そのアクターからタグの配列を取得し､ 配列から削除したいタグを指定してremoveを呼び出すことができます｡

45
00:04:28,210 --> 00:04:31,300
‫そして､ 最後にテストをして､ うまくいくかどうか確認してください｡

46
00:04:31,300 --> 00:04:33,220
‫ビデオを一時停止して､ 試してみてください｡

47
00:04:36,230 --> 00:04:36,520
‫なるほど｡

48
00:04:36,520 --> 00:04:37,600
‫お帰りなさい｡

49
00:04:37,720 --> 00:04:38,230
‫そうですね｡

50
00:04:38,230 --> 00:04:44,920
‫Visual Studioのコードに戻り､ このget grabbed componentとnot

51
00:04:44,920 --> 00:04:48,760
‫equal to nullがあるリリースに移動します｡

52
00:04:48,760 --> 00:04:49,900
‫そして､ いろいろとリリースしています｡

53
00:04:49,900 --> 00:04:57,010
‫さて､ グランドコンポーネントを取得する必要がありますが､ その掴んだコンポーネントのオーナーも取得する必要があります｡

54
00:04:57,010 --> 00:05:03,940
‫この行を短くするために､ get ownerは変数に入れることにします｡

55
00:05:03,970 --> 00:05:11,770
‫アクターがアクターを掴み､ ハンドルが掴まれ､ コンポーネントがオーナーを得るに等しい｡

56
00:05:12,520 --> 00:05:22,180
‫次に､ そのgrabしたアクターで､ grabしたアクター矢印タグを行い､ タグまたは削除を行い､ 削除､

57
00:05:22,240 --> 00:05:33,490
‫grab､ 行末の2つのセミコロンにまったく同じ文字列があることを確認して､ 再コンパイルしてみましょう｡

58
00:05:33,490 --> 00:05:37,510
‫だから今は､ ガーゴイルの近くでプレイを押すと､ 迎えに行くんです｡

59
00:05:37,960 --> 00:05:39,520
‫F8を押す｡

60
00:05:40,000 --> 00:05:42,490
‫ガーゴイルを見て､ どんなタグがあるのか見てみましょう｡

61
00:05:42,490 --> 00:05:43,840
‫グラボタグを手に入れました｡

62
00:05:43,840 --> 00:05:46,020
‫今回は1台だけなので､ よかったです｡

63
00:05:46,030 --> 00:05:55,330
‫次に､ "repossess" をクリックし､ "release" をドロップすると､ もう一度 "8" をクリックし､ ガーゴイル像を選択してタグを見てみると､

64
00:05:55,330 --> 00:05:59,950
‫案の定､ grab タグが消えていることがわかります｡

65
00:05:59,950 --> 00:06:07,810
‫このガーゴイルは私のものだ」ということを､ 世界中の他の部品に伝えることができる優れた仕組みができるわけです｡

66
00:06:07,810 --> 00:06:09,070
‫現在､ つかわれています｡

67
00:06:09,430 --> 00:06:14,560
‫私からそれを奪って､ 何らかの受信トリガーにロックしようとしないでください｡

68
00:06:14,800 --> 00:06:16,630
‫そして､ それを次の講義で実現するのです｡

69
00:06:16,630 --> 00:06:17,650
‫では､ 現地でお会いしましょう｡

