Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
IAggregateActionItem.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System.Collections.Generic;
4 
5 namespace SiliconStudio.ActionStack
6 {
7  /// <summary>
8  /// Base interface of aggregate of action items.
9  /// </summary>
10  public interface IAggregateActionItem : IActionItem
11  {
12  /// <summary>
13  /// Gets the aggregated action items.
14  /// </summary>
15  IEnumerable<IActionItem> ActionItems { get; }
16 
17  /// <summary>
18  /// Gets whether the given action item is contained in this aggregate.
19  /// </summary>
20  /// <param name="actionItem">The action item to look for.</param>
21  /// <returns><c>true</c> if this aggregate contains the given action item, <c>false</c> otherwise.</returns>
22  bool ContainsAction(IActionItem actionItem);
23 
24  /// <summary>
25  /// Gets all action items contained in this aggregate that are not <see cref="IAggregateActionItem"/> themselves, recursively.
26  /// </summary>
27  /// <returns>An enumeration of all action items contained in this aggregate that are not <see cref="IAggregateActionItem"/> themselves, recursively.</returns>
28  IEnumerable<IActionItem> GetInnerActionItems();
29  }
30 }
Base interface for action items.
Definition: IActionItem.cs:10
Base interface of aggregate of action items.