本ページにはプロモーションが含まれます
Playmaker

【Unity】PlaymakerのカスタムアクションでEnumTypeの既定値を設定する方法

この記事は約2分で読めます。

はじめに

PlaymakerのカスタムアクションでEnumプロパティを単純にそのままで定義すると、ディフォルトでは以下のようになり、アクション使用毎に手動でEnumTypeを設定しなければなりません。その対応メモ。

public enum RoundingMethodEnum
{
    Round,
    Ceiling,
    Floor
}
public class RoundAction : FsmStateAction
{
   [RequiredField]
   [Tooltip("Choose rounding method.")]
   public FsmEnum roundingMethod;
   public override void Reset()
   {
       roundingMethod = null;
   }
   public override void OnEnter()
   {
   ( ^ω^)・・・     

まんどくせー。明日にはどのEnum使ってたなんて忘れる。

EnumTypeの既定値を設定する

   public override void Reset()
   {
       roundingMethod = new FsmEnum(null, typeof(RoundingMethodEnum), (int)RoundingMethodEnum.Round); // デフォルト値を設定
   }

こうするとカスタムアクションをステートのアクションにドラッグした時点で

ディフォルトで設定してくれる。

おわりに

// コード内で選択された値を取得したい場合
RoundingMethodEnum selectedNum = (RoundingMethodEnum)roundingMethod.Value;

なんか作っててわすれそうなので全部メモ。