private static T ContractEffectField <T>(StrategiaStrategy strategy, Func <ContractEffect, T> func) { if (strategy == null) { return(default(T)); } ContractEffect contractEffect = strategy.Effects.OfType <ContractEffect>().FirstOrDefault(); if (contractEffect == null) { return(default(T)); } return(func.Invoke(contractEffect)); }
public void Unregister(ContractEffect effect) { effects.Remove(effect); }
public void Register(ContractEffect effect) { effects.AddUnique(effect); }