Page 1 of 1

パラメータコンテナにGameObjectをセットするには

Posted: 2017/06/27 09:00
by Guest
お世話になります。
Arbor2試用版を使わせて頂いております

ユーザー操作によってターゲットをロックオンするアクションゲームの実装で、
「ロックオンしたターゲットに対して○○する」という挙動を追加したいです

パラメータコンテナに、GameObject型の「Target」を追加
挙動側に、FlexibleGameObject m_Target; を追加し、上記パラメータコンテナの「Target」を参照

ここまでは良いのですが、パラメータコンテナの「Target」をどう切り替えるべきか分かりません

イメージとしては全ターゲットを配列で持っているマネージャークラスがあり、
ユーザー入力があるとパラメータコンテナの「Target」を別のターゲットに切り替えたいのですが、
ParameterContainerクラスには、SetBool、SetFloat、SetInt、SetStringしかなく、GameObjectをセットできません

この場合、どのように実装すべきでしょうか

Re: パラメータコンテナにGameObjectをセットするには

Posted: 2017/06/27 09:41
by caitsithware
ParameterContainerのGetParam()よりParameterを取得して、
ParameterのgameObjectValueを変更後OnChanged()を呼び出してください。

ParameterContainerInternal.GetParam
Parameter.gameObjectValue

コードは以下のような感じです。

Code: Select all

Parameter targetParam = parameterContainer.GetParam("Target");
targetParam.gameObjectValue = newTarget;
targetParam.OnChanged();
頻繁にアクセスするようでしたらStart()などでGetParamを呼び出して保持しておくと若干負荷が抑えられるようになっています。

また、SetBoolのように一通り対応したほうがよさそうなので、次回更新時には他の型も対応いたします。
それまで少々お待ちいただければと思います。

Re: パラメータコンテナにGameObjectをセットするには

Posted: 2018/02/23 05:35
by Guest
上記了解致しました。
ご回答ありがとうございます