#region usings using System.Collections.Generic; using SM.Base.Drawing; using SM.Base.Window; using SM.OGL.Mesh; #endregion namespace SM.Base.Scene { /// /// Adds requirements to object, to be properly used as a update and/or draw item. /// public interface IShowItem { /// /// Parent of the object. /// object Parent { get; set; } /// /// Contains the name for the object. /// string Name { get; set; } /// /// Contains specific flags for the object. /// ICollection Flags { get; set; } bool Active { get; set; } bool RenderActive { get; set; } /// /// Tells the object to draw its object. /// /// void Draw(DrawContext context); /// /// Action, that is called, when the object was added to a GenericItemCollection. /// void OnAdded(object sender); /// /// Action, that is called, when the object was removed from a GenericItemCollection. /// void OnRemoved(object sender); } public interface ITransformItem where TTransform : GenericTransformation { TTransform Transform { get; set; } } public interface IShowTransformItem : IShowItem, ITransformItem where TTransform : GenericTransformation { } public interface IModelItem { GenericMesh Mesh { get; set; } } }