ConnectableObservable Утилизировать все подписанные методы одновременно? - PullRequest
2 голосов
/ 15 сентября 2011

так что у меня есть игровой сервер, у каждого игрока есть таймер, например:

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 Ответ

1 голос
/ 22 сентября 2011

Попробуйте:

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

Тогда вы можете написать:

dis.Dispose();

Полегче, да?

...