30 lines
921 B
C#
30 lines
921 B
C#
using System;
|
||
using asap.core;
|
||
using UniRx;
|
||
|
||
namespace Activity.EventSubscriber
|
||
{
|
||
/// <summary>
|
||
/// 订阅 <see cref="ActivityEventTokenBalanceChanged"/>,将代币余额变更转发给各 Sentry,以刷新实现了 <see cref="IActivityEventRedPoint{T}"/> 的入口红点。
|
||
/// </summary>
|
||
public class ActivityTokenBalanceRedPointSubscriber : IActivityEventSubscriber
|
||
{
|
||
private ActivityManager _manager;
|
||
private IDisposable _subscription;
|
||
|
||
public void Subscribe(ActivityManager manager)
|
||
{
|
||
_manager = manager;
|
||
_subscription = GContext.OnEvent<ActivityEventTokenBalanceChanged>()
|
||
.Subscribe(e => _manager.DispatchActivityTokenBalanceChanged(e.EventId));
|
||
}
|
||
|
||
public void Unsubscribe()
|
||
{
|
||
_subscription?.Dispose();
|
||
_subscription = null;
|
||
_manager = null;
|
||
}
|
||
}
|
||
}
|