ConnectableObservable一次处理所有订阅的方法?

时间:2011-09-14 22:11:38

标签: c# timer system.reactive

所以我有一个游戏服务器,每个玩家都有一个计时器,如:

this.player.Timer = from tick in TimerPublisher where tick % 1 == 0 select tick;

我有一些订阅的方法,如:

this.player.Timer.Subscribe( tick => IncreseStamina() );
this.player.Timer.Subscribe( tick => IncresePower() );
//etc

所以我想做的不是设置

IDisposable dis = //the subscribed method;

所以我可以说

dis.Dispose(); //so it Dispose that method 

我想立即处理我所有订阅的方法我可以这样做吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

IDisposable dis = new CompositeDisposable(new []
{
    this.player.Timer.Subscribe(tick => IncreseStamina()),
    this.player.Timer.Subscribe(tick => IncresePower()),
    //etc
});

然后你可以写:

dis.Dispose();

简单,是吗?