先日はお世話になりました。
ParameterConatinerのEnum型を使うために、いくつか拡張してほしいStateがあります。
・SendMessageGameObject
引数にEnum型を渡せるようにしてほしい。
※できれば、他にもParameterContainerで使える型にも対応してほしい
・CalcParameter
EnumでもAdd的な機能がほしい。
その場合、Enum範囲を超えないように自動的にループやリミットしてほしい。
※Intの場合、Add:1やAdd:-1として、受け取る側で範囲チェックしてループやリミットをかけ、キャストして使っています。
ひとまず、IntからEnumに変更しようとしたら詰まってしまったもので。
ご検討よろしくお願いします。
Enum型への対応
Forum rules
The items required for the request are as follows.
要望に必要な項目は以下の通りです。
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?
- 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.
- We do not guarantee the implementation of your request.
要望に必要な項目は以下の通りです。
- Arborを使って何をしようとしているか。
- 具体的にどこが不便で困っているか。
- 改善するにはどうすればよいか。
- 詳しい状況がわからない要望については答えられません。
- ユーザー様のプロジェクトの仕様上の固有の問題に対する要望については答えられません。
- Unityの仕様上の問題に対する要望には答えられません。
- 要望の実装を必ずお約束するものではございません。
- caitsithware
- 管理人
- Posts: 495
- Joined: 2015/08/17 12:41
Re: Enum型への対応
ご要望ありがとうございます。
検討いたします。
また、SendMessageGameObjectにつきましては、より高機能なInvokeMethodもあります。
こちらはEnum引数の対応だけでなくoutやref引数、戻り値の出力などにも対応しております。
もしよろしければInvokeMethodも使用してみてください。
Arborリファレンス : InvokeMethod
本来enum型は加減算などの数値演算しないのが一般的であり、必ずenumの値が連続しているとも限らないため、意図しない問題を引き起こしかねません。
また、ループやリミットについてどちらを行いたいかも含めて考えると、kag様のプロジェクト固有の仕様に依存した問題のように思います。
パラメータを初めからIntにするか、どうしてもenum型の加減算が必要であれば演算ノードやStateBehaviourを自作してみてはいかがでしょうか。
Arborマニュアル : 演算ノード
Arborマニュアル : StateBehaviour
SendMessageGameObjectやSendMessageUpwardsGameObject、BroadcastMessageGameObjectあたりについてですね。
検討いたします。
また、SendMessageGameObjectにつきましては、より高機能なInvokeMethodもあります。
こちらはEnum引数の対応だけでなくoutやref引数、戻り値の出力などにも対応しております。
もしよろしければInvokeMethodも使用してみてください。
Arborリファレンス : InvokeMethod
こちらにつきましては、Arborの組み込み処理として対応するべきかどうか悩ましいですね。
本来enum型は加減算などの数値演算しないのが一般的であり、必ずenumの値が連続しているとも限らないため、意図しない問題を引き起こしかねません。
また、ループやリミットについてどちらを行いたいかも含めて考えると、kag様のプロジェクト固有の仕様に依存した問題のように思います。
パラメータを初めからIntにするか、どうしてもenum型の加減算が必要であれば演算ノードやStateBehaviourを自作してみてはいかがでしょうか。
Arborマニュアル : 演算ノード
Arborマニュアル : StateBehaviour