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

¡¡Á°²óºîÀ®¤·¤¿µ¡Ç½¤ò³ÈÄ¥¤·¡¢Ê£¿ô¤Î¥¤¥Ù¥ó¥È¤ò½çÈÖ¤ËÀ©¸æ¤¹¤ë¥¤¥Ù¥ó¥È½èÍý¤Î¼ÂÁõÎã¤Ç¤¹¡£

¡¡¤³¤Îµ¡Ç½¤â½èÍý¤ÎÃê¾Ý²½¤ò³èÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¼ÂÁõ¤¬²Äǽ¤Ç¤¹¡£



¡ã¼ÂÁõÆ°²è¡¡ÊõÈ¢¤Î¥¤¥Ù¥ó¥È¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¥¤¥Ù¥ó¥È¤¬½çÈ֤˼¹Ԥµ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



¡¡¥¢¥µ¥¤¥ó¤·¤¿ GameEvent ¤Ë¤è¤ê¥¤¥Ù¥ó¥È¤Î½çÈÖ¤¬À©¸æ¤Ç¤­¤Þ¤¹¡£

¡¡¤½¤Î¤¿¤á¡¢¥¢¥µ¥¤¥ó¤¹¤ë½çÈÖ¤òµÕ¤Ë¤¹¤ë¤³¤È¤Ç¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¢ªÊõÈ¢¤Î½ç¤Ë¥¤¥Ù¥ó¥ÈÀ©¸æ¤¬²Äǽ¤Ç¤¹¡£


¡ã¼ÂÁõÆ°²è¡¡¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¥¤¥Ù¥ó¥È¤¬½ªÎ»¤·¤Æ¤«¤é¡¢ÊõÈ¢¤Î¥¤¥Ù¥ó¥È¤¬½çÈ֤˼¹Ԥµ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



¡ã³Ø½¬ÆâÍÆ¡ä
¡¡¡¦¥³¥ë¡¼¥Á¥ó¤ÎÆâÉô¤«¤éÌá¤êÃͤΤ褦¤ËÃͤò¼è¤ê½Ð¤¹ÊýË¡



Àß·×


¡¡¿Æ¥¯¥é¥¹¤Ç¤¢¤ë GameEventBase ¥¯¥é¥¹¤ò¤½¤Î¤Þ¤Þ³èÍѤ·¡¢»Ò¥¯¥é¥¹¤ò¿·µ¬ºîÀ®¤·¤Æ¥¤¥Ù¥ó¥È¤Î½èÍý¤òºîÀ®¤·¤Æ¤­¤Þ¤¹¡£
¸½ºß¤Ï²ñÏÃ¥¤¥Ù¥ó¥ÈÍѤΥ¯¥é¥¹¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¤¬¡¢Â¾¤Îʬ´ô½èÍý¤ÎÉôʬ¤â£±¤Ä¤º¤Ä¥¤¥Ù¥ó¥È²½(»Ò¥¯¥é¥¹²½)¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡GameEvent ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë GameEvetHandler ¥¯¥é¥¹¤ò½¤Àµ¤·¡¢£±¤Ä¤·¤«ÅÐÏ¿¤Ç¤­¤Ê¤¤ GameEvent ÊÑ¿ô¤òÇÛÎó¤ËÊѹ¹¤·¡¢
Ê£¿ô¤Î GameEventBase ¥¯¥é¥¹¤ò¥¢¥µ¥¤¥ó¤·¤ÆÅÐÏ¿½ÐÍè¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¤½¤ì¤Ë¹ç¤ï¤»¤Æ¡¢¸½ºß¤Ï£±²ó¤·¤«¼Â¹Ô¤·¤Æ¤¤¤Ê¤¤ GameEvent ¤Î¼Â¹ÔÌ¿Îá¤ò½¤Àµ¤·¡¢
ÅÐÏ¿¤·¤Æ¤¤¤ë GameEvent ¤ò¾å¤«¤é½çÈ֤˼¹Ԥ·¤Æ¤¤¤¯¤è¤¦¤Ë½¤Àµ¤·¤Þ¤¹¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁüÎã



¡¡¤Þ¤¿¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¤¢¤ëÇÛÎó¤Î¾ðÊó¤Ï¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤ÇʤÓÂؤ¨¤¬¤Ç¤­¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤ÎÉôʬ¤òÊѹ¹¤¹¤ë¤À¤±¤Ç¡¢¥¤¥Ù¥ó¥È½èÍý¤Î¼Â¹Ô½ç¤òÊѤ¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¤³¤ì¤Ï¿·¤·¤¤»Ò¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤âƱÍͤǤ¹¡£


¥¤¥Ù¥ó¥È¼Â¹Ô½ç¤ÎÊѹ¹
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯

¡¡¤³¤Î¤è¤¦¤ÊÀ߷פˤʤäƤ¤¤ë¤¿¤á¡¢¥¤¥Ù¥ó¥È¤Î½çÈÖ¤òÊѤ¨¤ë¤¿¤á¤Ë¥¹¥¯¥ê¥×¥È¤Ø¤Î½èÍý¤ÎÊѹ¹¤ÏɬÍפ¢¤ê¤Þ¤»¤ó¡£


¿·¤·¤¤¥¤¥Ù¥ó¥ÈÍѤλҥ¯¥é¥¹¤ÎºîÀ®


¡¡Á°²óºîÀ®¤·¤¿ GameEventNpcTalk ¥¯¥é¥¹¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥¤¥Ù¥ó¥È¤Ë¤Ä¤­£±¤Ä¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï¥¢¥¤¥Æ¥à¼èÆÀ´ØÏ¢¤Î¥¤¥Ù¥ó¥È¤ò£²¤Äµ­ºÜ¤·¤Þ¤¹¡£


£±¡¥ÊõÈ¢¤Î¥¤¥Ù¥ó¥ÈÍÑ


¡¡Á°²óºîÀ®ºÑ¤Î»Ò¥¯¥é¥¹¤Ï°ú¤­Â³¤­ÍøÍѤǤ­¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ç¤Ï¾¤Î»Ò¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¤¤¤º¤ì¤â¿Æ¥¯¥é¥¹¤Ç¤¢¤ë GameEventBase ¥¯¥é¥¹¤ò·Ñ¾µ¤·¤¿»Ò¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£

¡¡¤½¤·¤Æ GameEventNpcTalk ¥¯¥é¥¹¤ÈƱ¤¸¤è¤¦¤Ë¡¢¿Æ¥¯¥é¥¹¤Î ExecuteEventCoroutine ¥á¥½¥Ã¥É¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ
¤½¤ì¤¾¤ì¤Î¥¤¥Ù¥ó¥È¤Î½èÍý¤òµ­½Ò¤·¤Þ¤¹¡£ÊõÈ¢¤Ç¤¢¤ì¤Ð¡¢ÊõÈ¢¤ò³«¤±¤¿ºÝ¤Î½èÍý¤òµ­½Ò¤·¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï´û¸¤Î TreasureBox ¥¯¥é¥¹¤ò¸µ¤Ë¿·¤·¤¤»Ò¥¯¥é¥¹¤òºîÀ®¤·¡¢¥¤¥Ù¥ó¥Èµ¡Ç½¤ËÂбþ¤µ¤»¤Æ¤¤¤Þ¤¹¡£
¥¯¥é¥¹¤Î̿̾µ¬Â§¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢GameEvent ¡Á ¤È¤¤¤¦·Á¤ÇÅý°ì¤¹¤ë¤È¡¢¥¤¥Ù¥ó¥ÈÍѤΥ¯¥é¥¹¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£


GameEventTreasureBox.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£



£²¡¥ÊõÈ¢°Ê³°¤«¤é¤Î¥¢¥¤¥Æ¥à¤Î¼èÆÀÍÑ


¡¡ÊõÈ¢¤òÄ̤µ¤º¤Ë¥¢¥¤¥Æ¥à¤òÆþ¼ê¤¹¤ë¤è¤¦¤Ê¥±¡¼¥¹¤Î¥¤¥Ù¥ó¥È½èÍý¤Ç¤¹¡£
¤½¤Î¤¿¤á¤³¤ì¤Ï²ñÏÃ¥¤¥Ù¥ó¥È¤Ê¤É¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¦¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£


GameEventGetItem.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£



¡¡Ä¹¤¯¤Ê¤ë¤¿¤á¡¢Â¾¤Î»Ò¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¤ÏÊ̤Υڡ¼¥¸¤Ë¤Þ¤È¤á¤ÆÃÖ¤­¤Þ¤¹¡£


Ì¿Îá¤ò¼õ¤±¤ë¦¤Îµ¡Ç½¤Î½¤Àµ


¡¡ºÇ½é¤ËÀâÌÀ¤¬¤¢¤Ã¤¿¤è¤¦¤Ë¡¢GameEventHandler ¥¯¥é¥¹¤ò½¤Àµ¤·¡¢Ê£¿ô¤Î GameEventBase ¥¯¥é¥¹¤òÅÐÏ¿¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¾å¤Ç¡¢
ÅÐÏ¿¤·¤¿½çÈÖÄ̤ê¤Ë£±¤Ä¤º¤Ä GameEvent ¤¬¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë½èÍý¤ò½¤Àµ¤·¤Þ¤¹¡£

¡¡¸µ¤«¤é¤¢¤ë¥á¥½¥Ã¥É¤ò½¤Àµ¤·¤Æ¤â¤è¤¤¤Î¤Ç¤¹¤¬¡¢¥á¥½¥Ã¥É¤ÎÆâÍƤò¤Û¤Ü½ñ¤­´¹¤¨¤ë¤³¤È¤Ë¤Ê¤ë¤¿¤á¡¢
¿·¤·¤¤ÊÑ¿ô¤È¥á¥½¥Ã¥É¤òºîÀ®¤·¤ÆÂбþ¤·¤Þ¤¹¡£


<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£


¡¡½èÍý¤ÎÆâÍƤ¬Æñ¤·¤¤¤¿¤á¡¢£±¤Ä¤º¤Ä¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤Ê¤¬¤é³Ø½¬¤·¡¢Éü½¬¤·¤Ê¤¬¤é³Ð¤¨¤Æ¤¯¤À¤µ¤¤¡£


¡ã¥³¥ë¡¼¥Á¥ó¤ÎÆâÉô¤«¤éÌá¤êÃͤΤ褦¤ËÃͤò¼è¤ê½Ð¤¹ÊýË¡¡ä


¡¡¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ÎÌá¤êÃͤη¿¤Ï IEnumerator ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£¤³¤Á¤é¤ÏÊѹ¹¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£

¡¡¤½¤Î¤¿¤áÄ̾ï¤Î¥á¥½¥Ã¥É¤Î¤è¤¦¤ËÌá¤êÃͤη¿¤ò»ØÄꤷ¡¢¥á¥½¥Ã¥É¤«¤éÌá¤êÃͤò¼õ¤±¼è¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£

¡¡¤¿¤À¤·¡¢IEnumerator ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤Ï object ·¿¤Î Current ¥×¥í¥Ñ¥Æ¥£¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£


System.Collections.IEnumerator ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÎÄêµÁ
namespace System.Collections
{
    public interface IEnumerator
    {
        object Current { get; }

        bool MoveNext();

        void Reset();
    }
}



¡¡¤³¤Î Current ¥×¥í¥Ñ¥Æ¥£¤Ë¤Ï yield return ½èÍý¤òÍøÍѤ¹¤ë¤³¤È¤Ç¾ðÊó¤òÂåÆþ¤·¤Æ¤ª¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡²¼µ­¤Î GameEventGetItem ¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤Ç¤Ï£³²Õ½ê¤ÇÍøÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£

    /// <summary>
    /// ¥³¥ë¡¼¥Á¥ó¤Ë¤è¤ëÈóƱ´ü
    /// </summary>
    /// <returns></returns>
    public override IEnumerator ExecuteEventCoroutine() {

        // ¤¹¤Ç¤Ë½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¾ì¹ç¡¢¥»¡¼¥Ö½èÍý¤Ï¤»¤º¡¢³ÍÆÀ½èÍý¤â¤·¤Ê¤¤
        if (GameData.instance.itemInventryDatasList.Exists(x => x.itemName == itemName)) {
            yield return false;¡¡¡¡//¡¡¢«¡¡¤³¤³
            yield break;
        }
        
        // º£²ó½ªÎ»¤·¤¿²ñÏÃ¥¤¥Ù¥ó¥È¸å¤Ëɳ¤Å¤¤¤¿¥¤¥Ù¥ó¥È¤¬¤¢¤ë¤«³Îǧ
        if (AdvEngineController.instance.AdvEngine.Param.GetParameterBoolean(utageParamBoolName.ToString())) {
            GameData.instance.AddItemInventryData(itemName);

            yield return true;¡¡¡¡//¡¡¢«¡¡¤³¤³
            yield break;
        }

        yield return false;¡¡¡¡¡¡//¡¡¢«¡¡¤³¤³
    }

¡¡¤³¤ì¤Ï¾¤Î¥¤¥Ù¥ó¥ÈÍѤλҥ¯¥é¥¹¤Ë¤âÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¡¡¤¤¤º¤ì¤â bool Ãͤò yield return ¤Ç Current ¤ËÂåÆþ¤·¤ÆÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¤¬¡¢
¤³¤ÎÃͤòÂåÆþ¤·¤Æ¤¤¤ë¥¿¥¤¥ß¥ó¥°¤¬¥Ý¥¤¥ó¥È¤Ç¤¹¡£

¡¡¤³¤ÎÃͤϥ»¡¼¥Ö¤Î²ÄÈݤȤ·¤ÆÍøÍѤ¹¤ë¤¿¤á¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¥»¡¼¥Ö¤Î²ÄÈÝȽÄ꤬·èÄꤷ¤¿¥¿¥¤¥ß¥ó¥°¤Ç true / false ¤òÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£



¡¡¤³¤Î Current ¤Îµ¡Ç½¤ò³èÍѤ·¡¢IEnumerator ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¡¢¤³¤ÎÃæ¤Ë¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤Î½èÍý¤òÂåÆþ¤·¤Þ¤¹¡£

¡¡¤½¤Î¸å¡¢¤³¤ÎÂåÆþ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤ò»È¤Ã¤Æ¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¤³¤Î¤è¤¦¤ËÄ̾ï¤Î¥á¥½¥Ã¥É½èÍý¤ò¤½¤Î¤Þ¤Þ¼Â¹Ô¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢°ìÅÙ¡¢Ê̤ÎÊÑ¿ô¤ËÆþ¤ì¤Æ¡¢
¤½¤ÎÊÑ¿ô¤ò»È¤Ã¤ÆÂåÆþ¤µ¤ì¤Æ¤¤¤ë¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ò¥é¥Ã¥×½èÍý¤È¤¤¤¤¤Þ¤¹¡£

¡¡ÊÑ¿ô¤òÄ̤¸¤Æ¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¤½¤ÎÆâÉô¤Ë¤·¤Æ yield return ½èÍý¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
object ·¿¤Î¾ðÊó¤È¤·¤Æ¤Î¾ðÊó¤È¤·¤Æ Current ¥×¥í¥Ñ¥Æ¥£¤ËÃͤ¬ÂåÆþ¤µ¤ì¤ÆÊÝ»ý¤µ¤ì¤Þ¤¹¡£
¤³¤ÎÃͤò¼è¤ê½Ð¤¹¤³¤È¤Çµ¿»÷Ū¤Ê¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤ÎÌá¤êÃͤȤ·¤Æ³èÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


¡¡¡¡¡¡¡¡¡¡¡¡// ¥¤¥Ù¥ó¥È½èÍýÍѤΥ³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥É¤òÊÑ¿ô¤ËÂåÆþ(¥é¥Ã¥×¤¹¤ë)
            IEnumerator gameEventCoroutine = gameEvent.ExecuteEventCoroutine();

¡¡¡¡¡¡¡¡¡¡¡¡// ¥¤¥Ù¥ó¥È¤Îµ¯Æ°(¼Â¹Ô)¡£¤³¤Î¥¤¥Ù¥ó¥È¤¬½ªÎ»¤¹¤ë¤Þ¤Ç½èÍý¤ÏÂÔµ¡¤·¡¢¼¡¤Î¥¤¥Ù¥ó¥È¤Ï¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤òÊݾڤ¹¤ë
            yield return StartCoroutine(gameEventCoroutine);
            
            // ¤³¤Î¥Õ¥é¥°¤òÆþ¤ì¤Ê¤¤¤È¡¢°ìÅÙ true ¤Ë¤Ê¤Ã¤¿¤¢¤È¤Ë false ¤ËÌᤵ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë
            if (!isSaveOn && gameEventCoroutine.Current != null) { 

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¥³¥ë¡¼¥Á¥óÆâÉô¤«¤éÌá¤êÃͤò¼èÆÀ¤¹¤ë¥Æ¥¯¥Ë¥Ã¥¯
                isSaveOn = (bool)gameEventCoroutine.Current;  //  ¢«¡¡¤³¤³¤Ç¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Î Current ¥×¥í¥Ñ¥Æ¥£¤«¤é¥á¥½¥Ã¥ÉÆâ¤Î¾ðÊó¤ò¼è¤ê½Ð¤·¤Æ¤¤¤ë
            }

¡¡Current ¥×¥í¥Ñ¥Æ¥£¤Ï object ·¿¤Ç¤¹¡£¤½¤Î¤¿¤á¡¢ÍøÍѤ·¤¿¤¤·¿¤Ë·¿ÊÑ´¹(¥­¥ã¥¹¥È)¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï¥³¥ë¡¼¥Á¥ó¥á¥½¥Ã¥ÉÆâ¤Ç true / false ¤ÎÃͤò yield return ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢
¤½¤Î¾ðÊó¤ò object ·¿¤Ç¼è¤ê¤À¤·¤Æ¤«¤é (bool) ¤òÍøÍѤ·¤Æ 0bject ¢ª bool ¤Ë·¿ÊÑ´¹¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£

¡¡º£²ó¤Î¥×¥í¥°¥é¥à¤Î¾ì¹ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥Ù¥ó¥È½èÍýÆâ¤Ç¡¢yield return ¤Î½èÍý¤ò¹Ô¤¤¡¢true / false ¤ÎÃͤò Current ¤ËÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£
³Æ»Ò¥¯¥é¥¹¤Î½èÍý¤ò¸«Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤½¤·¤Æ¤½¤Î¾ðÊó¤ò¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤·¤¿¸å¤Ç³Îǧ¤·¡¢º£²ó¼Â¹Ô¤·¤¿¥¤¥Ù¥ó¥È¤Ë¤ª¤¤¤Æ¡¢
¥»¡¼¥Ö¤¬É¬Íפˤʤ俤Τ«¡¢¤¢¤ë¤¤¤ÏÉÔÍפʤΤ«¤ò¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤µ¤»¤ë¤¿¤á¤Îµ¡Ç½¤È¤·¤ÆÌòΩ¤Æ¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ê·Á¤Ç¡¢¼Â¹Ô¤·¤¿¥¤¥Ù¥ó¥È¤«¤é¥»¡¼¥Ö²ÄÈݤΥե£¡¼¥É¥Ð¥Ã¥¯¤Î»ÅÁȤߤòºî¤ë¤³¤È¤Ë¤è¤ê¡¢¥»¡¼¥Ö¤¬É¬Íפʻþ¤Ë¤À¤±¥»¡¼¥Ö¤ò¹Ô¤¦¤è¤¦¤Ê¹½Â¤¤Ë¤·¤Æ¤¤¤Þ¤¹¡£


»²¹Í¥µ¥¤¥È
¡Ú¥Ï¥ë¥·¥ª¥ó¥Ö¥í¥°¡ÛÍÍ
Unity¤Î¥³¥ë¡¼¥Á¥ó¤ÇÃͤòÊÖ¤¹ÊýË¡¡£¤¤¤¯¤Ä¤«ÊýË¡¤¢¤ë¤Ý¤¤¤±¤É¡¢¤½¤Î°ì¤Ä¤ò¾Ò²ð¡£



Ì¿Îá¤ò¼Â¹Ô¤¹¤ë¦¤Îµ¡Ç½¤Î½¤Àµ


¡¡PlayerController ¥¯¥é¥¹¤Î PlayActionCoroutine ¥á¥½¥Ã¥ÉÆâ¤Ë¤¢¤ë¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤¹¤ë½èÍý¤òÊѹ¹¤·¤Þ¤¹¡£

¡¡¤¤¤Þ¤Þ¤Ç¤Ï GameEventHandler ¥¯¥é¥¹¤Î GameEvent ¤ò£±¤Ä¤À¤±¼Â¹Ô¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
¤³¤ÎÉôʬ¤ò¿·¤·¤¯ºîÀ®¤·¤¿Ê£¿ô¤Î GameEvent ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤ËÊѹ¹¤·¤Þ¤¹¡£


PlayerController.cs
¡ã½¤Àµ¡ä

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£




¡¡¤Þ¤¿¥»¡¼¥Ö¤Î²ÄÈݤò³Îǧ¤·¤Æ¡¢¥»¡¼¥Ö¤ò¹Ô¤¦¤¿¤á¤Î¥á¥½¥Ã¥É¤òÄɲä·¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï¡¢¥¤¥Ù¥ó¥È¤ÎÆâÍƤˤè¤Ã¤Æ¥»¡¼¥Ö¤Î²ÄÈݤòÌá¤êÃͤȤ·¤Æ¼õ¤±¼è¤Ã¤Æ¤ª¤­¡¢
¤½¤Î¾õÂÖ¤ò³Îǧ¤·¤Æ¤«¤é¡¢É¬Íפ˱þ¤¸¤Æ¥»¡¼¥Ö¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡PlayerController ¥¯¥é¥¹Æâ¤Ç¤¢¤ì¤Ð¥á¥½¥Ã¥É¤ÎÄɲþì½ê¤Ï¤É¤³¤Ç¤â¹½¤¤¤Þ¤»¤ó¡£


PlayerController.cs
¡ãÄɲáä

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£



¥¤¥Ù¥ó¥È¤ÎºîÀ®ÊýË¡


¡¡GameEventHandler ¥¯¥é¥¹¤ò¥¤¥Ù¥ó¥È¤òȯ²Ð¤µ¤»¤¿¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¡¢
¹ç¤ï¤»¤Æ¡¢¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¼ÂºÝ¤Ëȯ²Ð¤¹¤ë¥¤¥Ù¥ó¥ÈÍѤλҥ¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¡¡
¡¡¥¢¥¿¥Ã¥Á¤¹¤ë»Ò¥¯¥é¥¹¤Î½çÈ֤ϽçÉÔƱ¤Ç¤¹¡£
¤¿¤À¤·¡¢GameEvents ÊÑ¿ô¤Ë¥¢¥µ¥¤¥ó¤·¤Æ¤¤¤ë½çÈ֤˥¤¥Ù¥ó¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¥¢¥µ¥¤¥ó½ç¤Ë¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡ÊõÈ¢¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢ÊõÈ¢¤«¤é¥¢¥¤¥Æ¥à¤ÎÆþ¼ê¥¤¥Ù¥ó¥È¤È¥­¥ã¥é¤Î¼«Æ°À¸À®¥¤¥Ù¥ó¥È¤ò¥»¥Ã¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁüÎã



¡¡¤½¤ÎÁ°¡¢¤Þ¤º¤Ï¥¤¥Ù¥ó¥È¤Î¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¤¤Þ¤¹¡£


¥¤¥Ù¥ó¥È¤ÎµóÆ°³Îǧ¤È¥¨¥é¡¼Âкö


¡¡¼ÂºÝ¤ËÊ£¿ô¤Î¥¤¥Ù¥ó¥È¤òµ¯Æ°¤µ¤»¤ëÁ°¤Ë¡¢¤Þ¤º¤Ï¡¢£±¤Ä¤º¤Ä½çÈ֤˥¢¥µ¥¤¥ó¤·¤Æ¥¤¥Ù¥ó¥È½èÍý¤¬Àµ¾ï¤ËÆ°ºî¤¹¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ÎºÝ¡¢¶õ¤Ã¤Ý¤Î¥¢¥µ¥¤¥ó¾ì½ê¤Ïºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¸½ºß¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥¤¥Ù¥ó¥È¤Î null ¥Á¥§¥Ã¥¯¤ò¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤¤¤º¤ì¤«¤ÎÍ×ÁÇ(Element)¤Ë¶õ¤Ã¤Ý¤Î¥¢¥µ¥¤¥ó¾ì½ê¤¬¤¢¤ë¤È¥¨¥é¡¼¤¬½Ð¤Þ¤¹¡£
ÇÛÎó¤Ë¤Ï¥¢¥µ¥¤¥ó¤¬¤¢¤ëÁ°Äó¤Ç¤¹¡£


¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç­¡



¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç­¢



¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç­£



¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç­¤



Àµ¾ï¤Ë£±¤Ä¤º¤ÄÆ°ºî¸¡¾Ú¤¹¤ë¾ì¹ç




¡¡¤É¤¦¤¹¤ì¤Ð¥¨¥é¡¼¤Ë¤Ê¤é¤Ê¤¤¤Î¤«¡¢¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦Íýͳ¤Ï¤Ê¤ó¤Ê¤Î¤«¡¢¤È¤¤¤¦¤³¤È¤â
¥×¥í¥°¥é¥à¤òÆɤ߲ò¤¤¤Æ¤¤¤¯¤³¤È¤ÇÍý²ò¤¬¿¼¤Þ¤ê¡¢ÂнèÊýË¡¤¬³Ø½¬½ÐÍè¤Þ¤¹¡£

¡¡Æä˼«ºî¤¹¤ë¾ì¹ç¡¢¤É¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬È¯À¸¤·¤¦¤ë¤Î¤«¡¢¼«Ê¬¤ÇÍý²ò¤·¤Æ¤ª¤«¤Ê¤±¤ì¤ÐŬÀڤʽèÍý¤¬½ñ¤±¤Þ¤»¤ó¡£

¡¡À޳ѤǤ¹¤Î¤Ç¡¢¥¨¥é¡¼Âкö¤â¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤É¤Î¥¯¥é¥¹¤Ë¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤ò»Ü¤»¤Ð¤¤¤¤¤Î¤«¡¢¥×¥í¥°¥é¥à¤ò¸«¤Ê¤¬¤é¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£


¡ã²óÅúÎã¡ä

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹



¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤ò³Îǧ¤¹¤ë


¡¡Àµ¾ï¤ËÆ°ºî¤¹¤ë¤³¤È¤ò³Îǧ¤Ç¤­¤¿¤é¡¢GameEvents ÊÑ¿ô¤Ë£²¤Ä°Ê¾å¤Î¥¤¥Ù¥ó¥È¤ò¥¢¥µ¥¤¥ó¤·¤Æ¤¯¤À¤µ¤¤¡£
GameEvents ÊÑ¿ô¤Ë¥¢¥µ¥¤¥ó¤·¤Æ¤¤¤ë½çÈ֤˥¤¥Ù¥ó¥È¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢¼Â¹Ô¤·¤Æ³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡Á°¤Î¥¤¥Ù¥ó¥È¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤Ï¼¡¤Î¥¤¥Ù¥ó¥È¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£
¤Þ¤¿¡¢¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°Áàºî¤â½ÐÍè¤Þ¤»¤ó¡£

¡¡¤½¤Î¤è¤¦¤ÊµóÆ°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


¡ã¼ÂÁõÆ°²è¡¡ÊõÈ¢¤Î¥¤¥Ù¥ó¥È¤¬½ªÎ»¤·¤Æ¤«¤é¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¥¤¥Ù¥ó¥È¤¬½çÈ֤˼¹Ԥµ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



¡¡¥¢¥µ¥¤¥ó¤·¤¿ GameEvent ¤Ë¤è¤ê¥¤¥Ù¥ó¥È¤Î½çÈÖ¤¬À©¸æ¤Ç¤­¤Þ¤¹¡£
µÕ¤Ë¤·¤Æ¡¢¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¢ªÊõÈ¢¤Î¥¤¥Ù¥ó¥È¤Ë¤Ê¤ë¤«¡¢³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£


¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü(GameEvents ÊÑ¿ô¤Ø¤Î¥¢¥µ¥¤¥ó¤Î½çÈÖ¤òÊѤ¨¤ë)



¡ã¼ÂÁõÆ°²è¡¡¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¥¤¥Ù¥ó¥È¤¬½ªÎ»¤·¤Æ¤«¤é¡¢ÊõÈ¢¤Î¥¤¥Ù¥ó¥È¤¬½çÈ֤˼¹Ԥµ¤ì¤ë¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



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

¡¡¥¤¥Ù¥ó¥ÈÍѤλҥ¯¥é¥¹¤Î¥µ¥ó¥×¥ë¤Ï¼¡¤Î¼ê½ç¤Ë¤¢¤ê¤Þ¤¹¡£

¡¡¼¡¤Î¼ê½ç¤Ï¡¡½èÍý¤ÎÃê¾Ý²½¤Ë¤è¤ë¼ÂÁõÎã­¤¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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