¡¡¸½ºß¤Î Unity ¤Ï C# 8.0 °Ê¹ß¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
switch ʸ¤ò¼°·Á¼°¤Îµ½Ò¤Ç½ñ¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤Î switch ʸ¤ËÂФ·¤Æ¤³¤Îµ½Ò¤¬¤Ç¤¤ëÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¡¡switch ʸ¤Î¼°·Á¼°¤Ë¤è¤ëµ½Ò¤Ç¤Ï¡¢
Ìá¤êÃͤ¬¤¢¤ë¤³¤È¤¬¾ò·ï¤Ç¤¹¤Î¤Ç¡¢
Ìá¤êÃͤΤʤ¤ switch ʸ¤Ë¤Ï¤³¤Î½ñ¼°¤òÍøÍѤǤ¤Þ¤»¤ó¡£
¡¡¤Ê¤ª¡¢¤³¤ÎÀâÌÀ¤¬Æñ¤·¤¤¤È´¶¤¸¤ë¾ì¹ç¤Ë¤Ï¡¢
Ìá¤êÃͤˤĤ¤¤ÆÉü½¬¤ò¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡ã¡Ä̾ï¤Î switch ʸ¡ä
public GameObject GetEffect(EffectType effectType) {
GameObject effectPrefab = null;
switch(effectType) {
case EffectType.Destroy_Chara :
effectPrefab = destroyCharaEffectPrefab;
break;
case EffectType.Destroy_Enemy:
effectPrefab = destroyEnemyEffectPrefab;
break;
case EffectType.Hit_Enemy:
effectPrefab = hitEnemyEffectPrefab;
break;
case EffectType.Hit_DefenseBase:
effectPrefab = hitDefenseBaseEffectPrefab;
break;
default:
effectPrefab = destroyCharaEffectPrefab;
break;
};
return effectPrefab;
}
¡¡¡¡¡¡¢
¡ã¢¼°·Á¼°¤Îµ½Ò¤Ë¤è¤ë switch ʸ¡ä
public GameObject GetEffect(EffectType effectType) {
return effectType switch {
EffectType.Destroy_Chara => destroyCharaEffectPrefab,
EffectType.Destroy_Enemy => destroyEnemyEffectPrefab,
EffectType.Hit_Enemy => hitEnemyEffectPrefab,
EffectType.Hit_DefenseBase => hitDefenseBaseEffectPrefab,
_ => destroyCharaEffectPrefab,
};
}
¡¡µ½Ò¤ÎÊýË¡¤Ï°ã¤¤¤Þ¤¹¤¬¡¢
¤³¤ì¤é¤Ï¤Þ¤Ã¤¿¤¯Æ±¤¸µóÆ°¤Ë¤Ê¤ê¤Þ¤¹¡£
Ìá¤êÃͤΤ¢¤ë switch ʸ¤Ç¤¢¤ì¤Ð¡¢case / break ¤ò¾Êά¤Ç¤¤ë¡¢¢¼°·Á¼°¤Ë¤è¤ëµ½Ò¤ËÄ©À路¤Æ¤ß¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
¡¡¼°·Á¼°¤Ë¤è¤ëµ½Ò¤Î¾ì¹ç¡¢
_ (¥¢¥ó¥À¡¼¥Ð¡¼)¤ÎÉôʬ¤¬ default ¤ËÅö¤¿¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢Ä̾ï¤Î switch ʸ¤Ï default Éôʬ¤¬¤Ê¤¯¤Æ¤â¥¨¥é¡¼¤Ï½Ð¤Þ¤»¤ó¤¬¡¢¼°·Á¼°¤Ë¤è¤ëµ½Ò¤Î¾ì¹ç¤Ë¤Ï
_ ¤òµ½Ò¤·¤Ê¤¤¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
++C++; ̤³ÎǧÈô¹Ô C ÍÍ
C# ¤Î¼°¤Èʸ¤Î°ìÍ÷
https://ufcpp.net/study/csharp/list_expression.htm...
++C++; ̤³ÎǧÈô¹Ô C ÍÍ
is¡¢switch ¤Î³ÈÄ¥(·¿¥¹¥¤¥Ã¥Á)
https://ufcpp.net/study/csharp/datatype/typeswitch...
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡¼¡¤Ï¡¡
ȯŸ£±£±¡¡¡¼¥¨¥Õ¥§¥¯¥Èµ¡Ç½¤Î¼ÂÁõ¡Ý¡¡¤Ç¤¹¡£