いつもお世話になっております。
レベルシーケンサーのイベントに関数を割り当てたときペイロードに出てくる引数のうち望まないパラメータが可視・編集できてしまいます。
具体的には、下記のFTestStruct を引数として渡した場合 EditableValue だけが可視・編集できることを期待していますが、
NonEditableValueも可視・編集できる次第です。
USTRUCT(BlueprintType)
struct FTestStruct
{
GENERATED_BODY()
UPROPERTY()
int32 NonEditableValue;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 EditableValue;
};
ご確認のほどよろしくお願いいたします。
お世話になっております。
シーケンサーの実装で、UPROPERTYがあると全体的にEditorで見えてしまうことになると思います。
GarbageCollectionが不要だあれば、UPROPERTY自体を外すことがおすすめです。
また、UPROPERTYをつけることが必要であれば、meta=(EditCondition=“false”)プロパティ自体は表示されても編集はできなくなると思うので、これで安全を守れるかと思います。
また、やりたいことによって、C++ではなくBPでの実装であれば解決できるかと思います。
お手数ですが、よろしくお願いします。
お世話になります。
ご回答ありがとうございました。
> シーケンサーの実装で、UPROPERTYがあると全体的にEditorで見えてしまうことになると思います。
そのような仕様なのですね。承知いたしました。
> GarbageCollectionが不要だあれば、UPROPERTY自体を外すことがおすすめです。
GCよりは、値の保存の意味でつけているケースでした。
方針としてはUPROPERTY()を外す方向で理解しましたので、
値の保存に関してはSerialize()関数でカバーするようにしてみます。
> また、UPROPERTYをつけることが必要であれば、meta=(EditCondition=“false”)プロパティ自体は表示されても編集はできなくなると思うので、これで安全を守れるかと思います。
metaは適用されるのですね。見落としていました。
meta=(EditCondition=“false”)でReadOnlyになるのも確認いたしました。情報ありがとうございました。
ひきつづき、よろしくお願いいたします。