ºÇ½ª¹¹¿·¡§ orika_ex_miyako 2023ǯ10·î31Æü(²Ð) 11:24:22ÍúÎò
³Æ¥Þ¥¹¤´¤È¤Ëʬ´ô(ÁªÂò»è)¤¬¤¢¤ê¡¢Ç¤°Õ¤Î¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤·¤Ê¤¬¤é¿Ê¹Ô¤¹¤ë¥¿¥¤¥×¤Î¥²¡¼¥à¥·¥¹¥Æ¥à¤Î¼ÂÁõÎã¤Ç¤¹¡£
¡¡¤³¤³¤Ç¤Ï³Æ¥Þ¥¹ÌܤËÊ£¿ô¤Îʬ´ô½èÍý¤¬¤¢¤ë·Á¤Ç£±¥Þ¥¹¤º¤Ä¥¤¥Ù¥ó¥È¤ò¿Ê¹Ô¤µ¤»¤Æ¤¤¤¯ÊýË¡¤ò¼ÂÁõ¤·¤Þ¤¹¡£
ºÇ½é¤Î¥Þ¥¹¤Ïʬ´ô¤Ê¤·¡¢¼¡¤Î¥Þ¥¹¤Ï£²¤Ä¤Îʬ´ô¤¬¤¢¤ë¡¢¤È¤¤¤Ã¤¿¤è¤¦¤Ê¥í¡¼¥°¥é¥¤¥È·Ï¤Î¥²¡¼¥à¤Ç¤è¤¯¤ß¤é¤ì¤ë¥¤¥Ù¥ó¥È¥·¥¹¥Æ¥à¤Ç¤¹¡£
¡¡Á°²ó¤Ë¤Ä¤Å¤¡¢¹ç·×£´²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡»£±¡¥UI À©ºî ¡þ£²¡¥¥¤¥Ù¥ó¥ÈÍѤΥ¯¥é¥¹À©ºî ¡¡£³¡¥¥Ç¡¼¥¿¥Ù¡¼¥¹À©ºî ¡¡£´¡¥´ÉÍý¥¯¥é¥¹À©ºî
¡¡º£²ó¤Ï¡Ú£²¡¥¥¤¥Ù¥ó¥ÈÍѤΥ¯¥é¥¹À©ºî¡Û¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¥¤¥Ù¥ó¥ÈÍѤΥ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¢¿Æ¥¯¥é¥¹¤òºîÀ®¤·¡¢¤½¤ì¤ò¸µ¤Ë¼ÂºÝ¤Ë¥¤¥Ù¥ó¥È¤Î½èÍý¤ò¼ÂÁõ¤¹¤ë»Ò¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¡¡¥¤¥Ù¥ó¥È¼Â¹Ô¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤³¤Ç¤Ï UniTask ¤òÍøÍѤ·¤ÆÈóƱ´ü½èÍý¤¬¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ë¥á¥½¥Ã¥É¤ò½àÈ÷¤·¤Æ¤¤¤Þ¤¹¡£
using Cysharp.Threading.Tasks; public interface IEvent { UniTask ExecuteEvent(); }
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤òÄ󶡤·¤Ê¤¤¤¿¤á¡¢¥¯¥é¥¹¤¬¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ëºÝ¤Ë¡¢¤É¤Î¤è¤¦¤Ë¼ÂÁõ¤¹¤ë¤«¤Ï¶ñÂÎŪ¤Ê¥¯¥é¥¹¤Ë°Ñ¤Í¤é¤ì¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄêµÁ¤¹¤ë¤È¤¤Ë¤Ï¡¢¤½¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Î¾ÜºÙ¤Ê¼ÂÁõ¤Ë°Í¸¤·¤Ê¤¤·Á¤ÇÀ߷פǤ¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢¿·¤·¤¤¥¯¥é¥¹¤òÄɲä·¡¢´û¸¤Î¥¯¥é¥¹¤¬¿·¤·¤¤¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤À¤±¤Ç¡¢¥³¡¼¥É¤Î³ÈÄ¥¤¬Íưפ˹Ԥ¨¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³ÈÄ¥¤äÊѹ¹¤¬´Êñ¤Ë¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¥¤¥Ù¥ó¥ÈÍѤÎÃê¾Ý(abstract)¥¯¥é¥¹¤òºîÀ®¤·¡¢¤³¤ì¤ò¥¤¥Ù¥ó¥È¤Î¿Æ¥¯¥é¥¹¤È¤·¤Þ¤¹¡£
Ãê¾Ý¥¯¥é¥¹¤Ï¥µ¥Ö¥¯¥é¥¹(»Ò¥¯¥é¥¹)¤Ë·Ñ¾µ¤µ¤»¤ëÁ°Äó¤ÇºîÀ®¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Î¥¯¥é¥¹¤òñÂΤÇÍøÍѤ¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£
¤Þ¤¿ MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤â¡¢¤³¤Î¥¯¥é¥¹¼«ÂΤϥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¥¢¥¿¥Ã¥Á¤Ï¹Ô¤¨¤Þ¤»¤ó¡£
Ãê¾Ý¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤ë¥µ¥Ö¥¯¥é¥¹¤Ç¤¢¤ì¤Ð¡¢¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡Ãê¾Ý¥¯¥é¥¹¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ëÊ£¿ô¤Î¥¯¥é¥¹¤¬¡¢¶¦Ä̤ÎÃê¾Ý¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤ä¥×¥í¥Ñ¥Æ¥£¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤³¤ì¤Ï¡¢¥¯¥é¥¹³¬ÁؤǤΰì´ÓÀ¤òÊݤÁ¡¢¥³¡¼¥É¤ÎÊݼéÀ¤ò¸þ¾å¤µ¤»¤ë¤Î¤ËÌòΩ¤Á¤Þ¤¹¡£
using System; using UnityEngine; using Cysharp.Threading.Tasks; using UniRx; using UnityEngine.UI; public abstract class EventBase : MonoBehaviour, IEvent¡¡// IEvent ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ { public abstract UniTask ExecuteEvent(); // IEvent ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î ExecuteEvent ¥á¥½¥Ã¥É¤òÃê¾Ý¥á¥½¥Ã¥É¤È¤·¤Æ¼ÂÁõ [SerializeField] private Button btnEvent;¡¡// Button ÅÐÏ¿ÍÑ public IObservable<Unit> OnClickEventButtonObserbable => btnEvent.OnClickAsObservable();¡¡// ³°Éô¥¯¥é¥¹¤Ç Button µ¡Ç½¤òÍøÍѤǤ¤ë¤è¤¦¤Ë¤¹¤ë }
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÃê¾Ý¥¯¥é¥¹¤Ë¼ÂÁõ¤¹¤ëºÝ¤Ë¤Ï¡¢Ä̾ï¤Î¥á¥½¥Ã¥É¤È¤·¤Æ¼ÂÁõ¤¹¤ë°Ê³°¤Ë¤â¡¢Ãê¾Ý¥á¥½¥Ã¥É¤È¤·¤Æ¼ÂÁõ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Ãê¾Ý¥¯¥é¥¹Æâ¤Ç¤Î¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï¹Ô¤ï¤ì¤Ê¤¤¤¿¤á¡¢Ãê¾Ý¥¯¥é¥¹¤ò·Ñ¾µ¤·¤¿»Ò¥¯¥é¥¹¤Ç¤Î¿¶¤ëÉñ¤¤¤Î¼ÂÁõ¤ò¶¯À©¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡¤³¤ì¤¬½ÅÍפÊÍýͳ¤Ï¡¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡§
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÃê¾Ý¥¯¥é¥¹¤ËÁȤ߹þ¤à¤³¤È¤Ç¡¢¤¹¤Ù¤Æ¤Î»Ò¥¯¥é¥¹¤¬Æ±¤¸¥á¥½¥Ã¥É¡ÊÃê¾Ý¥á¥½¥Ã¥É¡Ë¤ò»ý¤Ä¤³¤È¤¬Êݾڤµ¤ì¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥¯¥é¥¹³¬ÁØÆâ¤Ç°ì´ÓÀ¤¬°Ý»ý¤µ¤ì¡¢ÆÃÄê¤Î¥á¥½¥Ã¥É¤Î¸ºß¤¬³Î¼Â¤ËÊݾڤµ¤ì¤Þ¤¹¡£
¡¡»Ò¥¯¥é¥¹¤ÏÃê¾Ý¥¯¥é¥¹¤ò·Ñ¾µ¤·¡¢Ãê¾Ý¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤³¤ì¤Ë¤è¤ê¡¢»Ò¥¯¥é¥¹¤¬ÆÃÄê¤Î¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Ê¤¤¸Â¤ê¡¢¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤¹¡£
¡¡¤Ä¤Þ¤ê¡¢Ë¾¤Þ¤Ê¤¤¿¶¤ëÉñ¤¤¤ÎÈ´¤±Ï³¤ì¤òËɤ®¡¢¥×¥í¥°¥é¥Þ¤¬Àµ¤·¤¤¼ÂÁõ¤ò¶¯À©¤Ç¤¤Þ¤¹¡£
¡¡Ãê¾Ý¥¯¥é¥¹¤ò»ÈÍѤ·¤Æ¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î°ìÉô¤Î¥Ç¥Õ¥©¥ë¥È¼ÂÁõ¤òÄ󶡤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¤³¤Î¾ì¹ç¡¢»Ò¥¯¥é¥¹¤ÏɬÍפ˱þ¤¸¤Æ¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤òºÆÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤¡¢¤è¤ê½ÀÆð¤ÊÀ߷פò¼Â¸½¤Ç¤¤Þ¤¹¡£
¡¡¤³¤Î¤è¤¦¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÈÃê¾Ý¥¯¥é¥¹¤ÎÁȤ߹ç¤ï¤»¤Ï¡¢¥¯¥é¥¹³¬ÁؤòÀ߷פ·¡¢¥³¡¼¥É¤Î½ÀÆðÀ¡¢³ÈÄ¥À¡¢ÊݼéÀ¤ò¸þ¾å¤µ¤»¤ë¤Î¤ËÌòΩ¤Ä¶¯ÎϤʼêË¡¤Ç¤¹¡£
¶ñÂÎŪ¤ÊÍ×·ï¤äÀß·×¾å¤ÎÍ×°ø¤Ë±þ¤¸¤Æ¡¢¤É¤Á¤é¤òÁªÂò¤¹¤ë¤«¤Ï¥×¥í¥¸¥§¥¯¥È¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¥¤¥Ù¥ó¥ÈÍѤλҥ¯¥é¥¹¤Ç¤¹¡£
¡¡È¯À¸¤¹¤ë¥¤¥Ù¥ó¥È¤Î¼ïÎà¤Ë±þ¤¸¤Æ¡¢EventBase ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤ÆºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤³¤Ç¤Ï¥µ¥ó¥×¥ë¤È¤·¤Æ£²¤ÄÄ󼨤·¤Æ¤ª¤¤Þ¤¹¡£ExecuteEvent ¥á¥½¥Ã¥ÉÆâ¤Ë¡¢¼«Ê¬¤Î¥×¥í¥¸¥§¥¯¥È¤Ë±þ¤¸¤¿½èÍý¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
using Cysharp.Threading.Tasks; using UnityEngine; public class BattleEvent : EventBase { public async override UniTask ExecuteEvent() { ¡¡¡¡¡¡¡¡// TODO ¼ÂºÝ¤Ë¤ÏÀïÆ®ÍѤνèÍý¤òµ½Ò¤¹¤ë ¡¡¡¡¡¡¡¡// º£²ó¤Ï¥µ¥ó¥×¥ë¤È¤·¤Æ¡¢1Éô֤ÎÂÔµ¡¤È¥í¥°½ÐÎϤò¹Ô¤¤¤Þ¤¹ await UniTask.Delay(System.TimeSpan.FromSeconds(1.0f)); Debug.Log($"{this} : ½ªÎ»"); } }
using Cysharp.Threading.Tasks; using UnityEngine; public class SearchEvent : EventBase { public async override UniTask ExecuteEvent() { ¡¡¡¡¡¡¡¡// TODO ¼ÂºÝ¤Ë¤Ïõº÷ÍѤνèÍý¤òµ½Ò¤¹¤ë ¡¡¡¡¡¡¡¡// º£²ó¤Ï¥µ¥ó¥×¥ë¤È¤·¤Æ¡¢1Éô֤ÎÂÔµ¡¤È¥í¥°½ÐÎϤò¹Ô¤¤¤Þ¤¹ await UniTask.Delay(System.TimeSpan.FromSeconds(1.0f)); Debug.Log($"{this} : ½ªÎ»"); } }
¡¡¤É¤Á¤é¤Î¥µ¥Ö¥¯¥é¥¹¤â¿Æ¥¯¥é¥¹¤È¤·¤Æ EventBase ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Þ¤¹¡£
EventBase ¥¯¥é¥¹¤ÏÃê¾Ý¥¯¥é¥¹¤Ç¤¢¤ë¤¿¤á¡¢·Ñ¾µ¤òÁ°Äó¤È¤·¤¿¥¯¥é¥¹¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤âÃê¾Ý¥á¥½¥Ã¥É¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤¿¤á¡¢
¥µ¥Ö¥¯¥é¥¹Æâ¤Ë¤Ïɬ¤º¡¢ExecuteEvent ¥á¥½¥Ã¥É¤òµ½Ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡¡ExecuteEvent ¥á¥½¥Ã¥É¤¬¤¹¤Ù¤Æ¤Î¥µ¥Ö¥¯¥é¥¹¤Ë¼ÂÁõ¤µ¤ì¤ë¤³¤È¤ò¶¯À©¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
¥¤¥Ù¥ó¥È¤Î¼Â¹Ô½èÍý¤Ï¡¢³Æ¥µ¥Ö¥¯¥é¥¹¤Î ExecuteEvent ¥á¥½¥Ã¥É¤ò¤¹¤ë¤³¤È¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¤³¤ÎºÝ¡¢¥¤¥Ù¥ó¥È¤Î¼Â¹Ô¦¤Ï¡¢ExecuteEvent ¥á¥½¥Ã¥É¤ÎÃæ¿È¤ÏÃΤê¤Þ¤»¤ó¡£(Ãê¾Ý²½)
¡¡¥µ¥Ö¥¯¥é¥¹¤Ç¶¦Ä̤·¤Æ¤¤¤ë ExecuteEvent ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¾õÂ֤Ǥ¹¡£
¡¡¾åµ¤Î BattleEvent ¥¯¥é¥¹¤Ç¹Í¤¨¤Æ¤ß¤Þ¤¹¡£
¤³¤Î¥¯¥é¥¹¤Ï EventBase ¥¯¥é¥¹¤ò·Ñ¾µ¤·¡¢¤½¤ÎÃæ¤Ë¤¢¤ëÃê¾Ý¥á¥½¥Ã¥É¤Ç¤¢¤ë ExecuteEvent ¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¤³¤Î¥á¥½¥Ã¥ÉÆâ¤Ë¡¢¥Ð¥È¥ë¥¤¥Ù¥ó¥ÈÆȼ«¤Î½èÍý¤òµ½Ò¤·¤Þ¤¹¡£
¡¡Î㤨¤Ð¡¢¥Ð¥È¥ë¥¤¥Ù¥ó¥È¤Ç¤Ï¥×¥ì¥¤¥ä¡¼¤¬Å¨¤ÈÀ臘¾ìÌ̤òÁÛÁü¤Ç¤¤Þ¤¹¡£
¤³¤³¤Ç¤Ï¡¢¥Ð¥È¥ë¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤òÌÜŪ¤È¤·¤Æ¡¢1Éô֤Υ¦¥§¥¤¥È¡ÊÂÔµ¡¡Ë¤òÆþ¤ì¡¢¥Ð¥È¥ë¥¤¥Ù¥ó¥È¤¬¼Â¹Ô¤µ¤ì¤¿¤³¤È¤ò¥í¥°¤ËµÏ¿¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤ÎÃê¾Ý²½¤Î½ÅÍפʥݥ¤¥ó¥È¤Ï¡¢¥²¡¼¥à¤Î¥á¥¤¥ó¥¨¥ó¥¸¥ó(½èÍý¤ò¼Â¹Ô¤¹¤ë¥¯¥é¥¹)¤¬ ExecuteEvent ¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤¹ºÝ¤Ë¡¢
¤É¤Î¶ñÂÎŪ¤Ê¥¤¥Ù¥ó¥È¥¯¥é¥¹¤¬¼Â¹Ô¤µ¤ì¤ë¤«¤òÃΤé¤Ê¤¤¤³¤È¤Ç¤¹¡£
¥²¡¼¥à¤Î¥í¥¸¥Ã¥¯¤Ï¡¢¥¤¥Ù¥ó¥È¤¬¡Ö²¿¤ò¤¹¤ë¤«¡×¤òµ¤¤Ë¤¹¤ëɬÍפ¬¤Ê¤¯¡¢³Æ¥¤¥Ù¥ó¥È¥¯¥é¥¹¤Î ExecuteEvent ¥á¥½¥Ã¥É¤¬¤É¤Î¤è¤¦¤Ë¿¶¤ëÉñ¤¦¤«¤òµ¤¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
¡¡¤³¤Î¥¢¡¼¥¥Æ¥¯¥Á¥ã(¹½Â¤)¤Ë¤è¤ê¡¢¿·¤·¤¤¥¤¥Ù¥ó¥È¥¿¥¤¥×¤òÄɲ乤ëºÝ¤Ë¤Ï¡¢
¿·¤·¤¤¥µ¥Ö¥¯¥é¥¹¤òºîÀ®¤·¡¢ExecuteEvent ¥á¥½¥Ã¥É¤ò¤½¤Î¥¿¥¤¥×¤Î¥¤¥Ù¥ó¥È¤Ë¹ç¤ï¤»¤Æ¼ÂÁõ¤¹¤ë¤À¤±¤Ç¡¢¥²¡¼¥à¥¨¥ó¥¸¥ó(½èÍý¤ò¼Â¹Ô¤¹¤ë¥¯¥é¥¹)¦¤Î¥³¡¼¥É¤ËÊѹ¹¤¬É¬Íפ¢¤ê¤Þ¤»¤ó¡£
SearchEvent ¥¯¥é¥¹¤Ç¤¢¤ì¤Ð¡¢¥¯¥é¥¹Æâ¤Î ExecuteEvent ¥á¥½¥Ã¥É¤Ë¤Ï¡¢Ãµº÷ÍѤνèÍý¤òµ½Ò¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
Ʊ̾¤Î¥á¥½¥Ã¥É¤Ç¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Î ExecuteEvent ¥á¥½¥Ã¥ÉÆâ¤Ë¤Ï¡¢°Û¤Ê¤ë½èÍý¤òµ½Ò¤Ç¤¤Þ¤¹¡£
¡¡¤½¤Î·ë²Ì¡¢¿·¤·¤¤¥¤¥Ù¥ó¥È¤òÍưפËÄɲäǤ¤ë¤À¤±¤Ç¤Ê¤¯¡¢´û¸¤Î¥³¡¼¥É¤âÊݼ餷¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£
¶ñÂÎŪ¤Ë¤Ï¡¢switch ʸ¤ä if ʸ¤Ë¤è¤ëʬ´ô½èÍý¤¬ÉÔÍפȤʤꡢ½èÍý¤¬¼«Æ°Åª¤Ë¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡EventBase ¥¯¥é¥¹¤Ï MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢Àè¤Û¤ÉºîÀ®¤·¤¿¥µ¥Ö¥¯¥é¥¹¤â¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¥¤¥Ù¥ó¥È¤Î²Ä»ë²½¤Î¤¿¤á¡¢¤³¤ì¤é¤Î¥µ¥Ö¥¯¥é¥¹¤ò Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢Button ¤ò²¡¤·¤¿ºÝ¤Ë¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥µ¥Ö¥¯¥é¥¹¤Î¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤Ç¤¤ë¤è¤¦¤ËϢư¤µ¤»¤Þ¤¹¡£
¡¡MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Ê̤Υ¢¥×¥í¡¼¥Á¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë EventButtonSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¡¢Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤¤¤º¤ì¤«¤Î¥µ¥Ö¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¡¢¤½¤Î¥¯¥é¥¹Ì¾¤ÈƱ¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È̾¤ËÊѹ¹¤·¤Þ¤¹¡£
¡¡¤³¤ÎÎã¤Ç¤¢¤ì¤Ð¡¢SearchEvent ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤â SearchEvent ¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£
¡¡Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ Text ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¼«Æ°Åª¤Ë¤Ä¤¤¤Æ¤¤Þ¤¹¡£
Text ¤ò Search ¤Ë½ñ¤´¹¤¨¤Æ¡¢¥Ü¥¿¥ó¤Î»ý¤Ä¥¤¥Ù¥ó¥È¤ÎÌò³ä¤òÌÀ³Î²½¤·¤Þ¤·¤ç¤¦¡£
¡¡¤³¤ì¤é¤ÎÉôʬ¤Ï¸å¤Ç²èÁü¤Ëº¹¤·Âؤ¨¤¿¤ê¤·¤ÆǤ°Õ¤Ë²Ã¹©¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Ò¥¨¥é¥ë¥¡¼²èÁü
¡¡´°À®¤·¤¿¤é¥×¥ì¥Ï¥Ö¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡Æ±¤¸¼ê½ç¤Ç¡¢BattleEvent ¤âºîÀ®¤·¡¢¥×¥ì¥Ï¥Ö¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Á¤é¤Ë¤Ï BattleEvent ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤·¤ç¤¦¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡=>¡¡¼¡¤Ï¡¡¡Ú£²£Ä¡Û¥Þ¥¹Ìܤ´¤È¤Ë¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¥·¥¹¥Æ¥à¤Î¼ÂÁõÎ㤡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯