Enum型への対応

ここは、Arbor開発者への要望を行うためのフォーラムです。
要望に必要な項目は以下の通りです。
  • Arborを使って何をしようとしているか。
  • 具体的にどこが不便で困っているか。
  • 改善するにはどうすればよいか。
注意点:
  • 詳しい状況がわからない要望については答えられません。
  • ユーザー様のプロジェクトの仕様上の固有の問題に対する要望については答えられません。
  • Unityの仕様上の問題に対する要望には答えられません。

This is a forum for requesting Arbor developers.
The items required for the request are as follows.
  • What are you trying to do with Arbor?
  • Specifically, where are you inconvenient and in trouble?
  • What should I do to improve?
Attention point:
  • We can not answer requests that do not know the detailed situation.
  • We can not answer your request for specific problems in the specification of your project.
  • We can not answer your request on Unity's specification issues.

Forum rules
要望に必要な項目は以下の通りです。
  • Arborを使って何をしようとしているか。
  • 具体的にどこが不便で困っているか。
  • 改善するにはどうすればよいか。
注意点:
  • 詳しい状況がわからない要望については答えられません。
  • ユーザー様のプロジェクトの仕様上の固有の問題に対する要望については答えられません。
  • Unityの仕様上の問題に対する要望には答えられません。

The items required for the request are as follows.
  • What are you trying to do with Arbor?
  • Specifically, where are you inconvenient and in trouble?
  • What should I do to improve?
Attention point:
  • We can not answer requests that do not know the detailed situation.
  • We can not answer your request for specific problems in the specification of your project.
  • We can not answer your request on Unity's specification issues.
kag
Posts: 31
Joined: 2017/05/19 08:28

Enum型への対応

Post by kag » 2018/11/29 02:16

先日はお世話になりました。
ParameterConatinerのEnum型を使うために、いくつか拡張してほしいStateがあります。

・SendMessageGameObject
 引数にEnum型を渡せるようにしてほしい。
 ※できれば、他にもParameterContainerで使える型にも対応してほしい

・CalcParameter
 EnumでもAdd的な機能がほしい。
 その場合、Enum範囲を超えないように自動的にループやリミットしてほしい。
 ※Intの場合、Add:1やAdd:-1として、受け取る側で範囲チェックしてループやリミットをかけ、キャストして使っています。

ひとまず、IntからEnumに変更しようとしたら詰まってしまったもので。
ご検討よろしくお願いします。

User avatar
caitsithware
管理人
Posts: 294
Joined: 2015/08/17 12:41

Re: Enum型への対応

Post by caitsithware » 2018/11/29 10:27

ご要望ありがとうございます。
kag wrote:
2018/11/29 02:16
・SendMessageGameObject
 引数にEnum型を渡せるようにしてほしい。
 ※できれば、他にもParameterContainerで使える型にも対応してほしい
SendMessageGameObjectやSendMessageUpwardsGameObject、BroadcastMessageGameObjectあたりについてですね。
検討いたします。

また、SendMessageGameObjectにつきましては、より高機能なInvokeMethodもあります。
こちらはEnum引数の対応だけでなくoutやref引数、戻り値の出力などにも対応しております。
もしよろしければInvokeMethodも使用してみてください。

Arborリファレンス : InvokeMethod
kag wrote:
2018/11/29 02:16
・CalcParameter
 EnumでもAdd的な機能がほしい。
 その場合、Enum範囲を超えないように自動的にループやリミットしてほしい。
 ※Intの場合、Add:1やAdd:-1として、受け取る側で範囲チェックしてループやリミットをかけ、キャストして使っています。
こちらにつきましては、Arborの組み込み処理として対応するべきかどうか悩ましいですね。
本来enum型は加減算などの数値演算しないのが一般的であり、必ずenumの値が連続しているとも限らないため、意図しない問題を引き起こしかねません。
また、ループやリミットについてどちらを行いたいかも含めて考えると、kag様のプロジェクト固有の仕様に依存した問題のように思います。
パラメータを初めからIntにするか、どうしてもenum型の加減算が必要であれば演算ノードやStateBehaviourを自作してみてはいかがでしょうか。

Arborマニュアル : 演算ノード
Arborマニュアル : StateBehaviour

Post Reply