public override void OnEnable() { base.OnEnable(); if (_Beams == null) { Debug.LogError("<Color=Red><a>Missing</a></Color> Beams Reference.", this); } else { _Beams.SetActive(false); } MyCameraWork _cameraWork = gameObject.GetComponent <MyCameraWork>(); if (_cameraWork != null) { if (photonView.IsMine) { _cameraWork.StartFollowing(); } } else { Debug.LogError("<Color=Red><a>Missing</a></Color> MyCameraWork component on player prefab.", this); } }
/// <summary> /// シーンの最初に追尾カメラをセットする /// + /// UIをインスタンス化します。 /// 作成したインスタンスにメッセージを送信しています。レシーバが必要です。 /// つまり、SetTargetが反応するコンポーネントを見つけらなかった場合に通知されます。 /// </summary> private void Start() { // まず、CameraWorkコンポーネントを取得します。 見つからない場合、エラーが記録されます。 MyCameraWork cameraWork = this.gameObject.GetComponent <MyCameraWork>(); if (cameraWork != null) { // 次に、photonView.isMineがtrueの場合は、このインスタンスを追走する必要があることを意味するので、 // _cameraWork.OnStartFollowing()を呼び出し、シーン内のそのインスタンスをカメラが効果的に追従させます。 // 他のすべてのプレイヤーインスタンスは、photonView.isMineをfalseに設定されているため、 // それぞれの_cameraWorkは何も行いません。 if (photonView.isMine) { cameraWork.OnStartFollowing(); } } else { Debug.LogError(MyHelper.FileAndMethodNameWithMessage( "CameraWorkコンポーネントがプレイヤープレハブに<Color=Red>ありません</Color>。")); } /* * if (PlayerUIPrefab != null) * { * GameObject uiGo = Instantiate(PlayerUIPrefab); * * // ※わからん * uiGo.SendMessage("SetTargetPlayer", this, SendMessageOptions.RequireReceiver); * } * else * { * Debug.LogWarning(MyHelper.FileAndMethodNameWithMessage( * "プレイヤープレハブ上の PlayerUIPrefab への参照が<Color=Red>ありません</Color>")); * } */ }