#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; }
///
/// If true it will ignore the object.
///
bool Active { get; set; }
///
/// Íf true it will ignore the object when rendering.
///
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; }
}
}