¡¡AddTo ¥á¥½¥Ã¥É¤òÍøÍѤ»¤º(¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ä¥¯¥é¥¹¤òÇË´þ¤¹¤ë°Ê³°¤Î¥¿¥¤¥ß¥ó¥°¤Ç) Dispose ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¤Ï
IDisposable ·¿¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤¤¤Æ¡¢¤½¤ÎÃæ¤Ë Subscribe ¤·¤Æ¤¤¤ë½èÍý¤òÂåÆþ¤·¤Æ¤ª¤¤Þ¤¹¡£
¡¡¤³¤ì¤Ï¡¢
Subscribe ¤ÎÌá¤êÃͤ¬ IDisposable ·¿¤Ç¤¢¤ë¤³¤È¤òÍøÍѤ·¤¿½èÍý¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ãÎã¡ä
using System;
using UniRx;
public class TestDisposable {
private IDisposable subscription;
public ReactiveProperty<int> Hp = new(0);
void Start() {
subscription = Hp.Subscribe(value => Debug.Log(value));
}
}
¡¡IDisposable ·¿¤Ï System ¤Î namespace ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢ÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï using ¤Ç¤ÎÀë¸À¡¢¤¢¤ë¤¤¤Ï namespace ¤òÉÕ¤±¤¿·¿¤ÎÀë¸À¤¬É¬ÍפǤ¹¡£
¡ãusing ¤Ç¤ÎÀë¸À¡ä
using System;
IDisposable disposable;
¡ãnamespace ¤òÉÕ¤±¤¿·¿¤ÎÀë¸À¡ä
private System.IDisposable disposable;
¡¡¤Þ¤¿ UniRx ¤Ë¤Ï¡¢IDisposable ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼ÂÁõ¤·¤Æ¤¤¤ë SingleAssigenmentDisposable ·¿¤â¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤âÍøÍѤǤ¤Þ¤¹¡£
¤³¤Á¤é¤Ï UniRx ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤¿¤á¡¢System ¤ÎÀë¸ÀÉÔÍפÇÍøÍѤǤ¤Þ¤¹¡£¥¯¥é¥¹¤Î¤¿¤á new ¤·¤Æ(¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤·¤Æ)ÍøÍѤ·¤Þ¤¹¡£
private SingleAssignmentDisposable disposable = new();
¡¡¤³¤Î¤è¤¦¤Ë¤·¤Æ¡¢
Subscribe ¤ÎÌá¤êÃͤξðÊó(¹ØÆɤ·¤Æ¤¤¤ë½èÍý)¤òÂåÆþ¤·¤Æ¤ª¤¯¤¿¤á¤ÎÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤Ç¡¢
Ǥ°Õ¤Î¥¿¥¤¥ß¥ó¥°¤Ç¤³¤ÎÊÑ¿ô¤ò»È¤Ã¤Æ¡¢Subscribe ¤·¤Æ¤¤¤ë¹ØÆɽèÍý¤ò Dispose ¤·¡¢Ää»ß½ÐÍè¤Þ¤¹¡£
¡¡DOTween ¤âƱÍͤǤ¹¤¬¡¢°ìÅÙÆ°¤½Ð¤·¤¿ÈóƱ´ü½èÍý¤Ë¤Ï¸å¤«¤é¼ê¤ò½Ð¤¹¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¥á¥½¥Ã¥É¼Â¹Ô»þ¤Ë¡¢½èÍý¼«ÂΤòÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤³¤ÎÊÑ¿ôÆâ¤Ë¡¢¼Â¹Ô¤·¤Æ¤¤¤ëÈóƱ´ü½èÍý¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ì¤ò¸å¤Ç»ß¤á¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
Qiita @Marimoiro ÍÍ
UniRx¤Î¥·¥ó¥×¥ë¤Ê¥µ¥ó¥×¥ë ¤½¤Î6(¹ØÆɤÎÄä»ß)