public async Task RunAsync(IBattleEvent <TDomain> @event, IPassiveProperty <TDomain> self, TDomain context) { if (@event is TEvent ev) { await _processFunc.Invoke(ev, self, context); } }
public async Task RunAsync(IBattleEvent <TDomain> @event, IPassiveProperty <TDomain> self, TDomain context) { if (@event is TEvent ev) { if (self is PassiveProperty <TDomain, TDataStore> property) { await _processHook.Invoke(ev, property, context); } } }