ミニマムブロック

頭の中でつながるまで

simple RPG #3

NPCとinteractする前にメッセージ出すんじゃねえよ。なので修正。

[?]pathPendingって何?

NavMeshAgent.pathPending, Pendingは未解決という意味で、たぶんパスをたどっている途中という意味だろう。

[修正手順]

updateメソッドで判定を追加。もしキャラクタが近くなら、という判定にはupdateメソッドが適している。

playerAgentがnullじゃない、playerAgentがpathPendingじゃない、interactedのフラグがfalseなら

stoppingPositionがremainingDistanceより小さいなら→stopp位置についたら、というこことか

interactを開始。

interactedFlgをtrueにしておけば、interactが無限発生しない。

 

①updateでinterac中はずっとフラグが立つように変更。hasInteractedというフラグを追加。でもやっぱり1回のみになるように修正

canvasにパネルを追加、dialogという名前に変更。ボタンを追加。テキストも追加。

 

■dialogSystemを作成

ダイアログUIを追加

UIを管理するEmptyObject→DialogSystemを追加

dialogSystemスクリプトを追加、DialogSystemにアタッチ

 

JSONファイルを普通、作る。

?continueButton = dialogPanel.transform.FindChild("Continue").GetComponent<Button>();

なぜdialogPanel.getComponentではない?

dialogPanelに何かを乗せた場合、transformを経由してfindChildで子要素を取得するのはそういうもの?

 

?continueButton.onClick.AddListener(delegate{ ContinueDialog(); });

delegateって何?意味、権限を託すこと

ざっくりいうと、delegateは関数を入れられる変数だってさ。

 

NPCからUIへメッセージを渡す処理を追加

awakeメソッドが存在?startとawakeの違いは?

startの方が、初期化と仲がいいから処理に失敗しない?

awakeを使う方がいい場合って何よ。

startはいつがいいのよ。結論から簡単に教えてよ。なぜここではawakeを使う?