どうゆうやつ?
複数のenumを一つのfieldで管理 & unity editor上で表示できます!
便利な機能とか
どのenumにするかを選ばせるpopupをcategoryとして制限できます。
enum宣言時
[EnumSelectionEnable(Category = "MyCategory")] public enum Sample { Value1, Value2, }
利用時
public class Demo : MonoBehaviour { [EnumSelectionOption(Category = "MyCategory")] public EnumSelection Value; }
parseも超簡単
// EnumSelection Value; var value1 = this.Value.GetEnum<Sample>(); var value2 = this.Value.GetEnum(typeof(Sample)); var value3 = this.Value.GetEnum(); // automatically parse enum by stored class name & assembly name
どうやって保存してる?
SkillSlot: - AssemblyName: Assembly-CSharp ClassName: Sample.AttackSkill ClassValue: DamageMutiply - AssemblyName: Assembly-CSharp ClassName: Sample.DefenceSkill ClassValue: DamageDivide - AssemblyName: Assembly-CSharp ClassName: Sample.MagicSkill((ここに脚注を書きます)) ClassValue: SpeedUp
Assembly名とclass名, enumの値を文字列で保存しています. 読み出すときにstring => enumの変換をする感じ。 enumの順序変えられても安全な設計に倒している
以上です!
🌟 ください!
試行回数9