Exemplo n.º 1
0
    /// <summary>
    /// Remove trigger in hex unit with this installer
    /// </summary>
    /// <typeparam name="TTarget">Type object for target trigger</typeparam>
    /// <param name="installer">object who set trigger in this hex unit</param>
    public void RemoveTriggers <TTarget>(IHexTrigger <TTarget> installer)
    {
        var query = from HexTriggerContainer <TTarget> trigger in _hexTriggers
                    where trigger.Installer.Equals(installer)
                    select trigger;
        var hexTriggerContainers = query as HexTriggerContainer <TTarget>[] ?? query.ToArray();

        if (!hexTriggerContainers.Any())
        {
            return;
        }
        foreach (var trigger in hexTriggerContainers)
        {
            _hexTriggers.Remove(trigger);
        }
    }
Exemplo n.º 2
0
 internal HexTriggerContainer(IHexTrigger <TTarget> installer) : this()
 {
     TargetType = typeof(TTarget);
     Installer  = installer;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Add new trigger in hex unit
 /// </summary>
 /// <typeparam name="TTarget">Type object for target trigger</typeparam>
 /// <param name="installer"></param>
 public void AddTrigger <TTarget>(IHexTrigger <TTarget> installer)
 {
     _hexTriggers.Add(new HexTriggerContainer <TTarget>(installer));
 }