¡¡£²¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¡¼ÆþÎÏÉôʬ¤È¡¢¥«¡¼¥½¥ë¤Ø¤Î¾ðÊó¤òÅϤ¹Éôʬ¤ò¤½¤ì¤¾¤ìºî¤ê¤Þ¤¹¡£
¡¡¥¡¼ÆþÎϤˤϡ¢UniRx.Triggers ¤ò³ÈÄ¥¤·¤Æ¤¤¤ëÀè¤Û¤É¤Î InputAsObservable ¥¢¥»¥Ã¥È¤òÍøÍѤ·¤Þ¤¹¡£
this.OnAxisRawAsObservable("Horizontal") // GetAxisRaw ¥á¥½¥Ã¥É¤ÈƱ¤¸
.Where(horizontal => horizontal != 0) // ¥¡¼ÆþÎϤ¬¤¢¤ë¤«³Îǧ
.ThrottleFirst(TimeSpan.FromSeconds(inputDelay)) // Ϣ³ÆþÎϤòÀ©¸æ¡£inputDelay »þ´Ö¤À¤±Ï¢Â³ÆþÎϤò¼õ¤±ÉÕ¤±¤Ê¤¤
.Subscribe(horizontal => MoveCursor((int)horizontal, 0)); // ¥¡¼ÆþÎϤÎÃͤò MoveCursor ¤ËÅϤ·¤Æ°ÜÆ°Àè¤ò·è¤á¤ë
¡¡¤³¤ì¤¬¥¡¼ÆþÎÏÉôʬ¤Ç¤¹¡£
¡¡this ¤È¤¢¤ë¤Î¤Ï¡¢¤³¤Î¥¯¥é¥¹¤È¡¢¤³¤Î¥¯¥é¥¹¤¬·Ñ¾µ¤·¤Æ¤¤¤ë MonoBehaviour ¥¯¥é¥¹¤ò»Ø¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤ÎÃæ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë Input.GetAxisRaw ¥á¥½¥Ã¥É¤ò UniRx ¤Î·Á¤Ç½ñ¤¤¤¿½ñ¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡UniRx ¤Ï¡¢°ìÅÙ½èÍý¤òºîÀ®¤¹¤ì¤Ð¡¢¼«Æ°Åª¤Ë´Æ»ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¡¡¤³¤Î¥±¡¼¥¹¤Ç¤¢¤ì¤Ð¡¢Horizontal Êý¸þ(X ¼´)¤Î¥¡¼ÆþÎϤò´Æ»ë¤·¡¢Where Éôʬ¤Ç¾ò·ï¤ò³Îǧ¤·¤Þ¤¹¡£¤³¤ì¤Ï if ʸ¤ÈƱ¤¸µ¡Ç½¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢Horizontal Êý¸þ(º¸±¦Ìð°õ¡¢¤¢¤ë¤¤¤ÏAW¥¡¼)¤ÎÆþÎϤò OnAxisRawAsObservable("Horizontal") ¤Ç¼õÉÕ¡¢
¼ÂºÝ¤ËÆþÎÏÃͤ¬¤¢¤ë¤«¤É¤¦¤«¤ò.Where(horizontal => horizontal != 0)Éôʬ¤Ç¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤Þ¤¹¡£¥¡¼ÆþÎϤ¬¤¢¤ì¤ÐÃÍ¤Ï 0 °Ê³°¤Ë¤Ê¤ë¤¿¤á¤Ç¤¹¡£
¡¡¤½¤Î²¼¤Ë¤¢¤ë .ThrottleFirst(TimeSpan.FromSeconds(inputDelay)) ¤Î½èÍý¤Ï¡¢½ÅÊ£ÆþÎϤòËɤ°µ¡Ç½¤Ç¤¹¡£
GetAxisRaw ¤Ë¤è¤ëÌ¿Îá¤Ï¥¥ã¥é¤Î°ÜÆ°¤Ë¤âÍøÍѤǤ¤ë¤è¤¦¤ËϢ³¤·¤ÆȽÄꤷ¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢1Éò¡¤·¤¿¤À¤±¤Ç¤â²èÌÌü¤Þ¤Ç¥«¡¼¥½¥ë¤¬°ìµ¤¤Ë°ÜÆ°¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
¤½¤ì¤ò°ú¿ô¤Ç»ØÄꤷ¤¿»þ´Ö¤À¤±¡¢¥¡¼ÆþÎϤò¼õ¤±ÉÕ¤±¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç
¥¡¼ÆþÎϤò¤·Â³¤±¤Æ¤â¡¢°ìÄê¤Î´Ö³Ö¤Ç¥«¡¼¥½¥ë¤ò°ÜÆ°¤Ç¤¤ë¤è¤¦¤ËÄ´À°¤·¤Æ¤¤¤Þ¤¹¡£
¡¡ºÇ¸å¤Î .Subscribe(horizontal => MoveCursor( (int)horizontal, 0)) ¤¬¥¡¼ÆþÎϤ¬¤¢¤Ã¤¿¤È¤¤Ë¼Â¹Ô¤µ¤ì¤ë½èÍý¤Ç¤¹¡£
horizontal ÊÑ¿ô¤Ë¡¢º£²ó¤Îʬ¤Î¥¡¼ÆþÎϤÎÃͤ¬Æþ¤ë¤Î¤Ç¡¢1 ¤« -1 ¤ÎÃͤ¬Æþ¤Ã¤Æ¤ª¤ê¡¢¤½¤ì¤ò MoveCorsor ¥á¥½¥Ã¥É¤ËÅϤ·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤³¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë½èÍý¤Îµ½Ò¤Ï UniRx ¤Î¤â¤Î¤Ç¤¹¤¬¡¢¥á¥½¥Ã¥É¤òÊ£¿ô¤Ä¤Ê¤²¤Æ¤¤¤¯¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤È¤¤¤¦½ñ¼°¤Ï C# ¼«ÂΤε¡Ç½¤Ç¤¹¡£
¡¡MoveCorsor ¥á¥½¥Ã¥É¤Ç¤Ï¡¢¥¡¼ÆþÎϤÎÃͤ¬ X ¼´¤È Y ¼´¤Ë¤Ä¤¤¤ÆÍøÍѤ·¡¢¤½¤ì¤ò¥«¡¼¥½¥ë¤Î°ÌÃÖ¤ËÍî¤È¤·¹þ¤ó¤Ç¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¥«¡¼¥½¥ë¤¬°ÜÆ°¤Ç¤¤ë¥°¥ê¥Ã¥É(ÏÈ)¤òĶ¤¨¤Æ¤¤¤Ê¤¤¤«¤òȽÄꤷ¡¢°ÜÆ°¤Ç¤¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¤Î°ÌÃ֤˺ưÜÆ°¤µ¤»¤Æ¤¤¤Þ¤¹¡£
¡¡¥«¡¼¥½¥ë¤Ï°ÜÆ°»þ¤Ë¿Æ»Ò´Ø·¸¤ò»È¤Ã¤Æ°ÜÆ°¤·¤Æ¤¤¤Þ¤¹¤¬¡¢Ã±½ã¤Ë¥«¡¼¥½¥ë¤ÎºÂɸ¤À¤±¤òÆ°¤«¤·¤Æ¤â¤¤¤¤¤Ç¤¹¡£
¤¿¤À¤·¡¢¿Æ»Ò´Ø·¸¤Ë¤·¤Æ¤ª¤¯¤È¡¢¿Æ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¡Ö¥¢¥¤¥Æ¥à¥¢¥¤¥³¥ó¡×¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢
¥«¡¼¥½¥ë¤Î°ÌÃÖ¤«¤é¥¢¥¤¥Æ¥à¥¢¥¤¥³¥ó¤Î¾ðÊó¤ò»²¾È¤·¤ä¤¹¤¯¤Ê¤ë¤Î¤Ç¡¢¤³¤Î¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤ÎÊÕ¤ê¤ÏǤ°Õ¤À¤È»×¤¤¤Þ¤¹¡£
¡¡¥á¥Ë¥å¡¼£±¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥Õ¥é¥°¤ò»È¤¦¤³¤È¤Ç¥«¡¼¥½¥ë¤Î°ÌÃÖ¤òµ²±¤µ¤»¤ë¥±¡¼¥¹¤È¤µ¤»¤Ê¤¤¥±¡¼¥¹¤ÎÀÚ¤êÂؤ¨¤¬½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ê¤Þ¤¹¡£
¡¡¥Ü¥¿¥ó¤ò²¡¤¹¤¿¤Ó¤Ë£±¤È£²¤òÀÚ¤êÂؤ¨¤Þ¤¹¡£