Unity:Enum切り替え関数メモ

もしなにかあればTwitterで教えて欲しいです。
Twitter:@ritz_prgrm

EnumをIntみたいに使う。てかこれはIntでいいのでは?と思ったけどEnum自体を他のところで使っていることがあると思うので忘れないためにメモ。
カメラの切り替えように使った。
今回だとLengthは3だけど(int)Typeの最大値は2なのでわざわざ1引く必要があった。<=でもよかった。

    public enum Type
    {
        one,
        two,
        three
    }
    public Type CurrentType;
    private void TypeChange()
    {
        //System.Enum.GetNames(typeof(Type)).Length
        //上のやつでEnumの要素数がもとめられる。valuesでも一緒?
        if((int)CurrentType < System.Enum.GetNames(typeof(Type)).Length - 1)
        {
            //現在の Type の次の Type を指定。
            //one なら two を指定。
            CurrentType = (Type)CurrentType + 1;
        }
        else
        {
            CurrentType = Type.one;
        }
    }
//int から enum にしたい場合は
//num は 0~2 の数字として、
CurrentType = (Type)System.Enum.ToObject(typeof(Type),num);

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA