Enum型への対応

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Enum型への対応

Re: Enum型への対応

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

Enum型への対応

by kag » 2018/11/29 02:16

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

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

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

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

Top