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

¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Îµ¡Ç½¤ÈÄêµÁ


¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢¥¯¥é¥¹¤ËÂФ·¤ÆÆÃÄê¤Î¥á¥½¥Ã¥É¤ä¥×¥í¥Ñ¥Æ¥£¤ò¼ÂÁõ¤¹¤ë¤³¤È¤òÍ׵᤹¤ë¤³¤È¤¬¤Ç¤­¤ë¤â¤Î¤Ç¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢Ê£¿ô¤Î¥¯¥é¥¹¤ÇƱ¤¸Æ°ºî¤ò¤¹¤ë¤³¤È¤ò¶¯À©¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

»²¹Í¥µ¥¤¥È
++C++; // ̤³ÎǧÈô¹Ô C ÍÍ
¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹



¡¡¼ÂÁõ¤ÎÊýË¡¤Ï¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄêµÁ¤¹¤ë¤¿¤á¤Î¡Öinterface¡×¥­¡¼¥ï¡¼¥É¤ò»ÈÍѤ·¤Þ¤¹¡£Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄêµÁ¤Ç¤­¤Þ¤¹¡£


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




¡¡¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤¹¤ë¥¯¥é¥¹¤Ï¡¢¡ÖIMoveable¡×¤ò¼ÂÁõ¤·¤Æ¡¢¡ÖMove¡×¥á¥½¥Ã¥É¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬É¬Íפˤʤê¤Þ¤¹¡£


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


¡¡¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÇÄêµÁ¤·¤¿¥á¥½¥Ã¥É¤Ï¡¢ÌÀµ­¤·¤Ê¤¯¤Æ¤â public °·¤¤¤Ë¤Ê¤ê¤Þ¤¹¡£



¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ÎÍøÅÀ¤È¤·¤Æ¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¡¦Ê£¿ô¤Î¥¯¥é¥¹¤ÇƱ¤¸Æ°ºî¤ò¶¯À©¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
¡¡¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò·Ñ¾µ¤·¤¿¥¯¥é¥¹¤ËÂФ·¤ÆƱ¤¸¤è¤¦¤ËÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
¡¡¡¦¥³¡¼¥É¤ÎÊݼéÀ­¤ò¹â¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
¡¡¡¦²¾Áۥ᥽¥Ã¥É¤è¤ê¤â·ÚÎ̤Ǥ¢¤ë¡£

¡¡¤³¤ì¤é¤ÎÍøÅÀ¤Ë¤è¤ê¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÍøÍѤ·¤¿À߷פò¹Ô¤¦¤³¤È¤Ç¤è¤ê¥¹¥Þ¡¼¥È¤Ê¥³¡¼¥É¤ò½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


¥¹¥Æ¡¼¥È¥Ñ¥¿¡¼¥ó

¡¡
¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÍøÍѤ·¤¿¥¹¥Æ¡¼¥È¥Ñ¥¿¡¼¥ó¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂ֤˱þ¤¸¤Æ½èÍý¤òÀÚ¤êÂؤ¨¤ë¤¿¤á¤ÎÀ߷פǤ¹¡£¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó¤Î£±¤Ä¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¥¹¥Æ¡¼¥È¥Ñ¥¿¡¼¥ó¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ò¥¹¥Æ¡¼¥È¤È¤·¤Æµ­½Ò(´ÉÍý)¤·¡¢³Æ¥¹¥Æ¡¼¥È¤ÇÆȼ«¤Î¥í¥¸¥Ã¥¯¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥³¡¼¥É¤ÎÊ£»¨À­¤ò¸º¤é¤·¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖÊѲ½¤ËÂФ·¤Æ¼«Á³¤ËÂбþ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢³Æ¥¹¥Æ¡¼¥È¤Î¥¯¥é¥¹¤¬¸ß¤¤¤ËÆÈΩ¤·¤Æ¤¤¤ë¤¿¤á¡¢ºÆÍøÍÑÀ­¤¬¹â¤¯¤Ê¤ê¤Þ¤¹¡£

¡¡¤è¤Ã¤Æ¡¢¤³¤Î¥¹¥Æ¡¼¥È¥Ñ¥¿¡¼¥ó¤Ï¡¢¥²¡¼¥à³«È¯¤Ë¤ª¤¤¤Æ¤ÏŨ¥­¥ã¥é¥¯¥¿¡¼¤ä¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¥¯¥¿¡¼¤Ê¤É¤ÎµóÆ°¤òÀ©¸æ¤¹¤ëºÝ¤Ê¤É¤ËÌòΩ¤Á¤Þ¤¹¡£

¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÍøÍѤ·¤¿¼ÂÁõÎã¤ò¼¨¤¹¤È¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


£±¡¥¥¹¥Æ¡¼¥ÈÍѤΥ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄêµÁ¤¹¤ë


¡¡¤Þ¤º¡¢¥¹¥Æ¡¼¥ÈÍѤΠIState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄêµÁ¤·¤Þ¤¹¡£
º£²ó¤Ï¥µ¥ó¥×¥ë¤Î¤¿¤á¥Õ¥¡¥¤¥ë¤òʬ¤±¤Æ¤¤¤Þ¤¹¤¬¡¢£±¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤È¥¯¥é¥¹¤È¤ò°ì½ï¤Ë½ñ¤¤¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£


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


¡¡£³¤Ä¤Î¥á¥½¥Ã¥É¤ÎÄêµÁ¤ò¤ª¤³¤Ê¤¤¤Þ¤¹¡£

¡¡¤½¤ì¤¾¤ì¤Î¥á¥½¥Ã¥É¤Ë¤Ï̾¾Î¤Ë±þ¤¸¤¿Ìò³ä¤¬¤¢¤ê¤Þ¤¹¡£


£²¡¥³Æ¥¹¥Æ¡¼¥ÈÍѤΥ¯¥é¥¹¤òÄêµÁ¤¹¤ë


¡¡¼¡¤Ë¡¢³Æ¥¹¥Æ¡¼¥È¤òɽ¤¹¥¯¥é¥¹¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¥¹¥Æ¡¼¥È¤´¤È¤Î¤Ë£±¤Ä¤Î¥¯¥é¥¹¤òÄêµÁ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡º£²ó¤Ï£²¤Ä¤Î¥¯¥é¥¹¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£


¡ã£±¡¥°ÜÆ°ÍѤΥ¹¥Æ¡¼¥È¥¯¥é¥¹¡ä


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



¡ã£²¡¥¥¸¥ã¥ó¥×ÍѤΥ¹¥Æ¡¼¥È¥¯¥é¥¹¡ä


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


¡¡¤É¤Á¤é¤Î¥¯¥é¥¹¤Ë¤â ICommand ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¼ÂÁõ¤µ¤ì¡¢¥¯¥é¥¹Æâ¤Ë Enter ¥á¥½¥Ã¥É¡¢Execute ¥á¥½¥Ã¥É¡¢¤½¤·¤Æ Exit ¥á¥½¥Ã¥É¤Î¼ÂÁõ¤¬¶¯À©¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£
¤½¤·¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥á¥½¥Ã¥É¤Î¼ÂÁõ(Ãæ¿È)¤¬°Û¤Ê¤ë¤¿¤á¡¢Æ±Ì¾¤Î¥á¥½¥Ã¥É¤Ç¤Ï¤¢¤ë¤â¤Î¤Î½èÍý¤ÎÆâÍƤ¬ÊѤï¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¤·¤Æ¡¢³Æ¥á¥½¥Ã¥É¤Î¼ÂÁõ¤ò³Æ¥¯¥é¥¹¤Ë¤è¤Ã¤Æ¹Ô¤¦¤³¤È¤Ç¡¢½èÍý¤òÃê¾Ý²½¤·¡¢¥á¥½¥Ã¥É¤Î¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¤³¤È¤Ç½èÍý¤òÊѤ¨¤ë¤³¤È¤¬½ÐÍè¤Æ¤¤¤Þ¤¹¡Ê¿ÂÖÀ­¤¬¤¢¤ê¤Þ¤¹¡Ë¡£


£³¡¥¥¹¥Æ¡¼¥È´ÉÍý¥¯¥é¥¹¤òÄêµÁ¤¹¤ë


¡¡ºÇ¸å¤Ë¡¢Ì¿Îá¤ò´ÉÍý¤¹¤ë¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£


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


¡¡ChangeState ¥á¥½¥Ã¥É¤òÍøÍѤ·¡¢IState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò currentState ¤ËÅÐÏ¿¤·¤Æ¤¤¤Þ¤¹¡£
¥Ý¥¤¥ó¥È¤È¤·¤Æ¤Ï¡¢currentState ÊÑ¿ô¤Ï IState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¤¿¤á¡¢¥¯¥é¥¹¤Ë´Ø¤ï¤é¤º¡¢IState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ì¤ÐÂåÆþ¤Ç¤­¤ëÅÀ¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢MoveState ¥¯¥é¥¹¡¢JumpState ¥¯¥é¥¹¤Î¤É¤Á¤é¤Ç¤¢¤Ã¤Æ¤â currentState ÊÑ¿ô¤ËÂåÆþ¤Ç¤­¤Þ¤¹¡£
¤³¤Î½èÍý¤ò¹Ô¤¦¤³¤È¤Ë¤è¤ê¡¢StateMachine ¥¯¥é¥¹¤Ï¸½ºß¤Î¥¹¥Æ¡¼¥È¤¬¤É¤Î¥¹¥Æ¡¼¥È¤Ç¤¢¤ë¤«¤ò´ÉÍý¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¤µ¤é¤Ë ChangeState ¥á¥½¥Ã¥É¤Ç¤Ï¡¢Á°¤Î¥¹¥Æ¡¼¥È¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï Exit ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¥¹¥Æ¡¼¥È¤Î½ªÎ»½èÍý¤ò¹Ô¤Ã¤¿¾å¤Ç¡¢
¿·¤·¤¤¥¹¥Æ¡¼¥È¤Ø¤ÎÀÚ¤êÂؤ¨½èÍý¤ò¹Ô¤Ã¤Æ¤«¤é¡¢Enter ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¥¹¥Æ¡¼¥È¤Î³«»Ï½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡Update ¥á¥½¥Ã¥É¤Ç¤Ï currentState ÊÑ¿ô¤¬Â¸ºß¤¹¤ë¤«³Îǧ¤·¡¢(¸½ºß¤Î¥¹¥Æ¡¼¥È¤ò³Îǧ)
currentState ÊÑ¿ô¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë IState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥¯¥é¥¹¤Î Execute ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Þ¤¹¡£

¡¡Execute ¥á¥½¥Ã¥É¤Ï MoveState ¥¯¥é¥¹¤È JumpState ¥¯¥é¥¹¤Ç¤Ï¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤¬°Û¤Ê¤ë¤¿¤á¡¢Æ±¤¸¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¤¬¡¢½èÍý¤Î¿¶¤ëÉñ¤¤¤¬ÊѤï¤ê¤Þ¤¹¡£


£´¡¥ÍøÍÑÊýË¡


¡¡Ì¿Îá¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¡ÖStateMachine¡×¥¯¥é¥¹¤Ë¤¢¤ë currentState ÊÑ¿ô¤Ë
¡ÖIState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡×¤ò¼ÂÁõ¤·¤¿¡ÖMoveState¡×¤ä¡ÖJumpState¡×¤Ê¤É¤òÂåÆþ¤¹¤ë¤³¤È¤Ç¡¢¸½ºß¤Î¥¹¥Æ¡¼¥È¤òÃ༡ÀÚ¤êÂؤ¨¤ÆÍøÍѤ·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¡ÖStateMachine¡×¥¯¥é¥¹¤«¤é¡ÖMoveState¡×¤òÌ¿Îá¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Î¥µ¥ó¥×¥ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£


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


¡¡¤³¤Î¥µ¥ó¥×¥ë¤Ç¤Ï¡¢¡ÖStart¡×¥á¥½¥Ã¥ÉÆâ¤Ç¤Ï¡ÖStateMachine¡×¤Ë¡ÖMoveState¡×¤òÄɲä·¡¢Enter ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¸å¡¢¡ÖUpdate¡×¥á¥½¥Ã¥ÉÆâ¤Ç¥¹¥Æ¡¼¥È¤Î¹¹¿·´ÉÍý¤ò¹Ô¤¤¡¢¡ÖstateMachine¡×¤Î¡ÖUpdate¡×¥á¥½¥Ã¥É¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢¸½ºß¤Î¥¹¥Æ¡¼¥È¤Î¡ÖExecute¡×¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹¡£


³Æ¥¹¥Æ¡¼¥È¤ò¥­¥ã¥Ã¥·¥å¤·¤ÆÍøÍѤ¹¤ë¥±¡¼¥¹¼ÂÁõÎã


¡¡Àè¤Û¤ÉÄ󼨤·¤¿¼ÂÁõÎã¤Î¾ì¹ç¡¢¥¹¥Æ¡¼¥È¤ÎÁ«°Ü¤Ë¤¢¤¿¤Ã¤Æ¤Ï¡¢¥¹¥Æ¡¼¥È¤ò¤½¤ÎÅÔÅÙ¥¤¥ó¥¹¥¿¥ó¥¹¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤·¤¿¡£

¡¡¤³¤Á¤é¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¥²¡¼¥àÆâ¤ÇÍøÍѤ¹¤ë¥¹¥Æ¡¼¥È¤ò»öÁ°¤Ë¥­¥ã¥Ã¥·¥å(ºÇ½é¤Ë¥¤¥ó¥¹¥¿¥ó¥¹¤·¤ÆÊÑ¿ô¤ËÂåÆþ)¤·¤Æ¤ª¤¯¤³¤È¤Ç
¥¤¥ó¥¹¥¿¥ó¥¹¤ÎÀ¸À®¤Ï³Æ¥¹¥Æ¡¼¥È£±²ó¤À¤±¤Ë¤·¡¢¥¹¥Æ¡¼¥È¤ÎÂåÆþ¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤òÍøÍѤ·¤Æ½èÍý¤ò±¿ÍѤ·¤Æ¤¤¤¯¾ì¹ç¤Î¼ÂÁõÎã¤Ç¤¹¡£

¡¡¿·¤·¤¯ StateID ¤òºîÀ®¤·¡¢Â¾¤Î¥¯¥é¥¹¤ÏÄêµÁÆâÍƤòÄɲᦽ¤Àµ¤·¤Æ¤¤¤Þ¤¹¡£


£±¡¥StateID(enum) ¤òÄêµÁ¤¹¤ë


¡¡³Æ¥¹¥Æ¡¼¥È¤ò¼±Ê̤¹¤ë¤¿¤á¤Î enum ¤òºîÀ®¤·¤Þ¤¹¡£
string ·¿¤Ç´ÉÍý¤¹¤ë¤è¤ê¤âÊݼ餷¤ä¤¹¤¯¡¢¥³¡¼¥É¤Î²ÄÆÉÀ­¤¬¸þ¾å¤·¡¢¸íÆþÎϤòËɤ°¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


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



£²¡¥¥¹¥Æ¡¼¥ÈÍѤΥ¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄêµÁ¤¹¤ë


¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ IState ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë StateID ¤òÄɲä·¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢³Æ¥¹¥Æ¡¼¥È¤Î¾õÂÖ¤òÅÐÏ¿¤¹¤ëµ¡Ç½¤ò»ý¤¿¤»¤Þ¤¹¡£


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



£³¡¥³Æ¥¹¥Æ¡¼¥ÈÍѤΥ¯¥é¥¹¤òÄêµÁ¤¹¤ë


¡¡Àè¤Û¤ÉºîÀ®¤·¤¿ MoveState ¥¯¥é¥¹¤È JumpState ¥¯¥é¥¹¤Ë StateID ¤òÄɲä·¤Þ¤¹¡£
¤³¤³¤Ë³Æ¥¹¥Æ¡¼¥È¤Î¾õÂÖ¤òÅÐÏ¿¤·¡¢StateMachine ¥¯¥é¥¹¤Ç¼±Ê̤Ǥ­¤ë¾õÂ֤ˤ·¤Þ¤¹¡£

¡¡¤½¤Î¾¤ÎÊѹ¹ÅÀ¤Ï¤¢¤ê¤Þ¤»¤ó¡£


¡ã£±¡¥°ÜÆ°ÍѤΥ¹¥Æ¡¼¥È¥¯¥é¥¹¡ä


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



¡ã£²¡¥¥¸¥ã¥ó¥×ÍѤΥ¹¥Æ¡¼¥È¥¯¥é¥¹¡ä


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



£´¡¥StateMachine ¥¯¥é¥¹¤òÄêµÁ¤¹¤ë


¡¡¼¡¤Ë¡¢StateMachine ¥¯¥é¥¹¤Ë¥¹¥Æ¡¼¥È¤Î¥­¥ã¥Ã¥·¥å¤¬¤Ç¤­¤ë¤è¤¦¤Ë Dictionary<string, IState> ¤òÄɲä·¤Þ¤¹¡£
¤³¤Á¤é¤Ë¥¹¥Æ¡¼¥È¤òÅÐÏ¿¤¹¤ë¤¿¤á¤Î RegisterState ¥á¥½¥Ã¥É¤òÄɲä·¤Þ¤¹¡£
¤Þ¤¿ ChangeState ¥á¥½¥Ã¥É¤òºï½ü¤·¡¢Âå¤ï¤ê¤Ë¥¹¥Æ¡¼¥ÈID¤ò»ØÄꤷ¤ÆÁ«°Ü¤¹¤ë ChangeStateByID ¥á¥½¥Ã¥É¤òÄɲä·¤Þ¤¹¡£
Update ¥á¥½¥Ã¥É¤Ë¤ÏÊѹ¹¤¢¤ê¤Þ¤»¤ó¡£


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



£µ¡¥Example ¥¯¥é¥¹¤òÄêµÁ¤·¤Æ³èÍѤ¹¤ëÎã


¡¡½àÈ÷¤¬À°¤Ã¤¿¤Î¤Ç¡¢Example ¥¯¥é¥¹¤ò½¤Àµ¤·¤Æ±¿ÍѤ·¤Æ¤¤¤¯Îã¤òÄ󼨤·¤Þ¤¹¡£

¡¡Start ¥á¥½¥Ã¥É¤ò½¤Àµ¤·¡¢StateMachine ¥¯¥é¥¹¤Î RegisterState ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ³Æ¥¹¥Æ¡¼¥È¤ò»öÁ°¤ËÅÐÏ¿¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤½¤Î¸å¡¢¥²¡¼¥à³«»Ï»þ¤Î¥¹¥Æ¡¼¥È¤ò ChangeStateByID ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤ÆÀßÄꤷ¤Æ¤¤¤Þ¤¹¡£


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


¡¡¤³¤ÎÀ߷פǤϡ¢¥¹¥Æ¡¼¥È¤¬ StateMachine ¤Î Dictionary ¤Ë¥­¥ã¥Ã¥·¥å¤µ¤ì¤Æ±¿ÍѤµ¤ì¤Æ¤¤¤Þ¤¹¡£
enum ¤ò»ÈÍѤ·¤Æ³Æ¥¹¥Æ¡¼¥È¤ò ¥¹¥Æ¡¼¥ÈID ¤Ç¼±Ê̤Ǥ­¤ë¤è¤¦¤Ë´ÉÍý¤·¤Æ¤¤¤ë¤¿¤á¡¢¥¹¥Æ¡¼¥ÈÁ«°Ü¤Î½èÍý¤âÆɤߤ䤹¤¯¡¢°ÂÁ´¤Ë¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¤³¤Á¤é¤ÎÊýË¡¤Ç¼ÂÁõ¤ò¹Ô¤¦¤³¤È¤Ç¡¢ºÇ½é¤ËÄ󼨤·¤¿¡¢¤½¤ÎÅÔÅÙ¥¹¥Æ¡¼¥È¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¤ÆÍøÍѤ¹¤ëÀ߷פè¤ê¤â¸úΨ²½¤¬¿Þ¤ì¤Þ¤¹¡£



¡¡°Ê¾å¤Ë¤Ê¤ê¤Þ¤¹¡£

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


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

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

Menu


´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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