¡¡Â¾¤Ë¤â¡¢Îóµó·¿(Enum)¤ò»È¤Ã¤Æ¤½¤ì¤¾¤ì¤Î¾õ¶·¤òɽ¸½¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
Îóµó·¿¤Èswitchʸ¤òÁȤ߹ç¤ï¤»¤ë¤È¥³¡¼¥É¤¬Æɤߤ䤹¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¡¡°Ê²¼¤Ë¤½¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£
using UnityEngine;
public class ScriptTest : MonoBehaviour
{
// ¥×¥ì¥¤¥ä¡¼¤Î¾õÂÖ¤òɽ¸½¤¹¤ëÎóµó·¿
enum PlayerState
{
NoItems, // ¥¢¥¤¥Æ¥à¤ò°ì¤Ä¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¾õÂÖ
HasItemA, // ¥¢¥¤¥Æ¥àA¤Î¤ß¤ò»ý¤Ã¤Æ¤¤¤ë¾õÂÖ
HasItemAAndB, // ¥¢¥¤¥Æ¥àA¤ÈBξÊý¤ò»ý¤Ã¤Æ¤¤¤ë¾õÂÖ
}
PlayerState currentState = PlayerState.NoItems; // ½é´ü¾õÂÖ¤òÀßÄê
void Start()
{
// ¸½ºß¤Î¥×¥ì¥¤¥ä¡¼¤Î¾õÂ֤˱þ¤¸¤Æ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨
switch(currentState)
{
case PlayerState.NoItems:
Debug.Log("A¤âB¤â½ê»ý¤·¤Æ¤¤¤Ê¤¤¡£¥Ü¥¹Àï¤Ê¤·");
break;
case PlayerState.HasItemA:
Debug.Log("A¤ò½ê»ý¡£¥Ü¥¹Àﳫ»Ï");
break;
case PlayerState.HasItemAAndB:
Debug.Log("A¤ÈB¤ò½ê»ý¡£¥Ü¥¹Æ¤È²");
break;
}
}
}
¡¡¤³¤Î¥³¡¼¥É¤Ç¤Ï¡¢PlayerState¤È¤¤¤¦Îóµó·¿¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤ÎÎóµó·¿¤Ë¤Ï¡¢¥×¥ì¥¤¥ä¡¼¤¬¥¢¥¤¥Æ¥à¤ò°ì¤Ä¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¾õÂÖ¡ÊNoItems¡Ë¡¢
¥¢¥¤¥Æ¥àA¤Î¤ß¤ò»ý¤Ã¤Æ¤¤¤ë¾õÂÖ¡ÊHasItemA¡Ë¡¢¤½¤·¤Æ¥¢¥¤¥Æ¥àA¤ÈBξÊý¤ò»ý¤Ã¤Æ¤¤¤ë¾õÂÖ¡ÊHasItemAAndB¡Ë¤È¤¤¤¦3¤Ä¤Î¾õÂÖ¤òɽ¸½¤·¤Æ¤¤¤Þ¤¹¡£
¡¡Start¥á¥½¥Ã¥ÉÆâ¤Çswitchʸ¤òÍѤ¤¤Æ¸½ºß¤Î¥×¥ì¥¤¥ä¡¼¤Î¾õÂÖ¤ò¥Á¥§¥Ã¥¯¤·¡¢¤½¤ì¤¾¤ì¤Î¾õÂ֤˱þ¤¸¤ÆŬÀڤʥá¥Ã¥»¡¼¥¸¤ò¥³¥ó¥½¡¼¥ë¤Ë½ÐÎϤ·¤Þ¤¹¡£
¡¡¤³¤Î¥¢¥×¥í¡¼¥Á¤Î¥á¥ê¥Ã¥È¤Ï¡¢¥×¥í¥°¥é¥à¤Î¥í¥¸¥Ã¥¯¤¬Èó¾ï¤ËÌÀ²÷¤Ë¤Ê¤ëÅÀ¤Ç¤¹¡£
¥×¥ì¥¤¥ä¡¼¤Î¾õÂÖ¤¬²¿¤Ç¤¢¤ë¤«¤ò°ìÌܤÇÍý²ò¤Ç¤¡¢¤Þ¤¿¿·¤¿¤Ê¾õÂÖ¤òÄɲ乤ë¤Î¤âÍưפǤ¹¡£
¡¡¤¿¤À¤·¡¢¥¢¥¤¥Æ¥à¤Î¿ô¤ä¼ïÎबÁý¤¨¤Æ¤¯¤ë¤È´ÉÍý¤¬Ê£»¨¤Ë¤Ê¤ë²ÄǽÀ¤¬¤¢¤ë¤¿¤á¡¢
¤½¤Î¤è¤¦¤Ê¾ì¹ç¤ÏÊ̤Υǡ¼¥¿¹½Â¤¡ÊÎ㤨¤Ð¡¢¼½ñ·¿¤Ê¤É¡Ë¤ò»ÈÍѤ¹¤ë¤³¤È¤ò¸¡Æ¤¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£