本文整理汇总了C#中IEntity.getState方法的典型用法代码示例。如果您正苦于以下问题:C# IEntity.getState方法的具体用法?C# IEntity.getState怎么用?C# IEntity.getState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IEntity
的用法示例。
在下文中一共展示了IEntity.getState方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateCircle
/// <summary>
/// Construye un circulo según las opciones dadas
/// </summary>
/// <param name="id">Id del body</param>
/// <param name="owner">Owner del body</param>
/// <param name="isSolid">Si el body es sólido</param>
/// <param name="relativeToFacing">Determina si se debe tomar en cuenta la dirección
/// a la que está mirando la entidad para posicionar el body
/// relativo a esa dirección</param>
/// <param name="radius">Radio del circulo</param>
/// <returns>Circulo generado</returns>
public static Sphere CreateCircle(string id, IEntity owner, bool isSolid, bool relativeToFacing, float radius)
{
Sphere sphere = new Sphere(id, Vector2.Zero, radius, owner, isSolid);
if (relativeToFacing)
{
bool facingRight = owner.getState(EntityState.FacingRight);
if (facingRight != true)
{
sphere.MirrorHorizontal(owner.getVectorProperty(EntityProperty.Position));
}
}
return sphere;
}
示例2: CreateRectangle
/// <summary>
/// Construye un rectangulo según las opciones dadas
/// </summary>
/// <param name="id">Id del body</param>
/// <param name="owner">Owner del body</param>
/// <param name="isSolid">Si el body es sólido</param>
/// <param name="relativeToFacing">Determina si se debe tomar en cuenta la dirección
/// a la que está mirando la entidad para posicionar el body
/// relativo a esa dirección</param>
/// <param name="width">Ancho del rectangulo</param>
/// <param name="height">Alto del rectangulo</param>
/// <param name="startPosition">Coordenadas de inicio del body</param>
/// <param name="startCenter">Determina si las coordenadas de inicio se refieren
/// al primer punto del body o al centro de este</param>
/// <param name="layer">Capa de colisión donde se encontrará el body</param>
/// <param name="colorTag">Tag de color especifico para responses que solo se activen ante dicho Tag</param>
/// <returns>Rectangulo generado</returns>
public static Box CreateRectangle(string id, IEntity owner, bool isSolid, bool relativeToFacing, float width, float height, Vector2 startPosition, bool startCenter, float layer, Color colorTag)
{
if (startCenter)
{
startPosition.X -= width / 2;
startPosition.Y -= height / 2;
}
Box box = new Box(id, startPosition.X, startPosition.Y, width, height, owner, isSolid);
box.Layer = layer;
box.ColorTag = colorTag;
if (relativeToFacing)
{
bool facingRight = owner.getState(EntityState.FacingRight);
if (facingRight != true)
{
box.MirrorHorizontal(owner.getVectorProperty(EntityProperty.Position));
}
}
return box;
}
示例3: CreatePolygon
/// <summary>
/// Construye un poligono según las opciones dadas
/// </summary>
/// <param name="id">Id del body</param>
/// <param name="owner">Owner del body</param>
/// <param name="isSolid">Si el body es sólido</param>
/// <param name="relativeToFacing">Determina si se debe tomar en cuenta la dirección
/// a la que está mirando la entidad para posicionar el body
/// relativo a esa dirección</param>
/// <param name="polygonPoints">Coordenadas de cada punto del poligono</param>
/// <param name="startPosition">Coordenadas de inicio del body</param>
/// <param name="startCenter">Determina si las coordenadas de inicio se refieren
/// al punto de inicio desde donde se crea el body o al centro del mismo</param>
/// <returns>Poligono generado</returns>
/// <param name="layer">Capa de colisión donde se encontrará el body</param>
/// <param name="colorTag">Tag de color especifico para responses que solo se activen ante dicho Tag</param>
/// <returns>Poligono generado</returns>
public static Polygon CreatePolygon(string id, IEntity owner, bool isSolid, bool relativeToFacing, List<Vector2> polygonPoints, Vector2 startPosition, bool startCenter, float layer, Color colorTag)
{
Polygon polygon = new Polygon(id, polygonPoints, owner, isSolid, startPosition);
polygon.Layer = layer;
polygon.ColorTag = colorTag;
if (startCenter)
{
polygon.Offset(startPosition.X - polygon.Center.X, startPosition.Y - polygon.Center.Y);
}
if (relativeToFacing)
{
bool facingRight = owner.getState(EntityState.FacingRight);
if (facingRight != true)
{
polygon.MirrorHorizontal(owner.getVectorProperty(EntityProperty.Position));
}
}
return polygon;
}