列挙型をリストとして取得
列挙型の要素をその型のリストとして取得する方法になります
列挙型を定義しているクラス
メンバー
- ボールの色の列挙(BallColor)
- リストとして取り出すメソッド(GetBallColors)
- リストの中からランダムに1つ取り出すメソッド(GetRandomBallColor)
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class GameResources : MonoBehaviour
{
public enum BallColor
{
red,
blue,
green,
purple,
}
public static List<BallColor> GetBallColors()
{
return Enum.GetValues(typeof(BallColor)).OfType<BallColor>().ToList();
}
public static BallColor GetRandomBallColor()
{
return GetBallColors()[UnityEngine.Random.Range(0, GetBallColors().Count)];
}
}
使い方
列挙をListとして取得
スクリプト
using UnityEngine;
using System.Collections.Generic;
public class EnumListTest : MonoBehaviour
{
void Start()
{
List<GameResources.BallColor> ballColors = GameResources.GetBallColors();
foreach (var ballColor in ballColors)
{
Debug.Log(ballColor);
}
}
}
結果
red
blue
green
purple
列挙の中からランダムに1つ取り出す
スクリプト
using UnityEngine;
using System.Collections.Generic;
public class EnumListTest : MonoBehaviour
{
void Start()
{
for (int i = 0; i < 6; i++)
{
Debug.Log(GameResources.GetRandomBallColor());
}
}
}
結果
purple
blue
blue
red
blue
ディスカッション
コメント一覧
まだ、コメントがありません