Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡¥í¡¼¥°¥é¥¤¥È·Ï¤Î¥²¡¼¥à(Sly The Spire¡¢¥Õ¥¡¥ó¥È¥à¥í¡¼¥º¤Ê¤É)¤Ë¸«¤é¤ì¤ë¡¢¥×¥ì¥¤¥ä¡¼¤¬£±¥Þ¥¹¤º¤Ä°ÜÆ°¤·¤Æ¥´¡¼¥ëÃÏÅÀ¤Ø¸þ¤«¤¤¤Ê¤¬¤é¡¢
³Æ¥Þ¥¹¤´¤È¤Ëʬ´ô(ÁªÂò»è)¤¬¤¢¤ê¡¢Ç¤°Õ¤Î¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤·¤Ê¤¬¤é¿Ê¹Ô¤¹¤ë¥¿¥¤¥×¤Î¥²¡¼¥à¥·¥¹¥Æ¥à¤Î¼ÂÁõÎã¤Ç¤¹¡£

¡¡¤³¤³¤Ç¤Ï³Æ¥Þ¥¹ÌܤËÊ£¿ô¤Îʬ´ô½èÍý¤¬¤¢¤ë·Á¤Ç£±¥Þ¥¹¤º¤Ä¥¤¥Ù¥ó¥È¤ò¿Ê¹Ô¤µ¤»¤Æ¤¤¤¯ÊýË¡¤ò¼ÂÁõ¤·¤Þ¤¹¡£
ºÇ½é¤Î¥Þ¥¹¤Ïʬ´ô¤Ê¤·¡¢¼¡¤Î¥Þ¥¹¤Ï£²¤Ä¤Îʬ´ô¤¬¤¢¤ë¡¢¤È¤¤¤Ã¤¿¤è¤¦¤Ê¥í¡¼¥°¥é¥¤¥È·Ï¤Î¥²¡¼¥à¤Ç¤è¤¯¤ß¤é¤ì¤ë¥¤¥Ù¥ó¥È¥·¥¹¥Æ¥à¤Ç¤¹¡£



£±¡¥Àß·×

¡¡
¡¡Á°²ó¤Ë¤Ä¤Å¤­¡¢¹ç·×£´²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£

¡»£±¡¥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 ʸ¤Ë¤è¤ëʬ´ô½èÍý¤¬ÉÔÍפȤʤꡢ½èÍý¤¬¼«Æ°Åª¤Ë¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


£µ¡¥¥µ¥Ö¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤¹¤ë¤¿¤á¤Î Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë


¡¡EventBase ¥¯¥é¥¹¤Ï MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢Àè¤Û¤ÉºîÀ®¤·¤¿¥µ¥Ö¥¯¥é¥¹¤â¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¥¤¥Ù¥ó¥È¤Î²Ä»ë²½¤Î¤¿¤á¡¢¤³¤ì¤é¤Î¥µ¥Ö¥¯¥é¥¹¤ò Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ·¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢Button ¤ò²¡¤·¤¿ºÝ¤Ë¡¢¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥µ¥Ö¥¯¥é¥¹¤Î¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤ËϢư¤µ¤»¤Þ¤¹¡£

¡¡MonoBehaviour ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢Ê̤Υ¢¥×¥í¡¼¥Á¤¬¤¢¤ê¤Þ¤¹¡£



¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤¢¤ë EventButtonSet ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¡¢Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤¤¤º¤ì¤«¤Î¥µ¥Ö¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¡¢¤½¤Î¥¯¥é¥¹Ì¾¤ÈƱ¤¸¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È̾¤ËÊѹ¹¤·¤Þ¤¹¡£

¡¡¤³¤ÎÎã¤Ç¤¢¤ì¤Ð¡¢SearchEvent ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤â SearchEvent ¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£

¡¡Button ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ Text ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¼«Æ°Åª¤Ë¤Ä¤¤¤Æ¤­¤Þ¤¹¡£
Text ¤ò Search ¤Ë½ñ¤­´¹¤¨¤Æ¡¢¥Ü¥¿¥ó¤Î»ý¤Ä¥¤¥Ù¥ó¥È¤ÎÌò³ä¤òÌÀ³Î²½¤·¤Þ¤·¤ç¤¦¡£

¡¡¤³¤ì¤é¤ÎÉôʬ¤Ï¸å¤Ç²èÁü¤Ëº¹¤·Âؤ¨¤¿¤ê¤·¤ÆǤ°Õ¤Ë²Ã¹©¤·¤Æ¤¯¤À¤µ¤¤¡£


¥Ò¥¨¥é¥ë¥­¡¼²èÁü















¡¡´°À®¤·¤¿¤é¥×¥ì¥Ï¥Ö¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡Æ±¤¸¼ê½ç¤Ç¡¢BattleEvent ¤âºîÀ®¤·¡¢¥×¥ì¥Ï¥Ö¤Ë¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Á¤é¤Ë¤Ï BattleEvent ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤·¤ç¤¦¡£








¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£

¡¡=>¡¡¼¡¤Ï¡¡¡Ú£²£Ä¡Û¥Þ¥¹Ìܤ´¤È¤Ë¥¤¥Ù¥ó¥È¤¬È¯À¸¤¹¤ë¥·¥¹¥Æ¥à¤Î¼ÂÁõÎã­¤¡¡¤Ç¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu


´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹