IPoster.cs 990 B

123456789101112131415161718192021
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace InABox.Core
  5. {
  6. /// <summary>
  7. /// Base interface for all "Posters" - classes that define the means of processing an <see cref="IPostable"/> <see cref="Entity"/>.
  8. /// There is little point in directly implementing this; rather, one should implement a subinterface.
  9. /// The functionality of any <see cref="IPoster{TEntity,TSettings}"/> is essentially the default functionality, and, based on the subinterface implemented,
  10. /// will be scriptable.
  11. /// </summary>
  12. /// <typeparam name="TEntity">The type of entity that this poster can process.</typeparam>
  13. /// <typeparam name="TSettings">The <see cref="PosterSettings"/> specific to this type of poster.</typeparam>
  14. public interface IPoster<TEntity, TSettings>
  15. where TEntity : Entity, IPostable, IRemotable, IPersistent, new()
  16. where TSettings : PosterSettings
  17. {
  18. TSettings Settings { get; set; }
  19. }
  20. }