public static Entity Create(Engine engine, Vector2 position, Vector2 bounds, Vector2 normal) { Entity entity = engine.CreateEntity(); entity.AddComponent(new TransformComponent(position)); float hw = bounds.X / 2; float hh = bounds.Y / 2; entity.AddComponent(new CollisionComponent(new PolygonCollisionShape(new Vector2[] { new Vector2(hw, hh), new Vector2(-hw, hh), new Vector2(-hw, -hh), new Vector2(hw, -hh) }))); entity.GetComponent <CollisionComponent>().CollisionGroup = Constants.Collision.COLLISION_GROUP_EDGES; entity.GetComponent <CollisionComponent>().CollisionMask = (byte)(Constants.Collision.GROUP_MASK_ALL & ~Constants.Collision.COLLISION_GROUP_EDGES); entity.AddComponent(new EdgeComponent(normal)); entity.AddComponent(new QuadTreeReferenceComponent(new QuadTreeNode(new BoundingRect()))); RenderShape[] temp = new RenderShape[1]; temp[0] = new QuadRenderShape(new Vector2(hw, hh), new Vector2(-hw, hh), new Vector2(-hw, -hh), new Vector2(hw, -hh), CVars.Get <Color>("color_playfield")); entity.AddComponent(new VectorSpriteComponent(temp)); entity.GetComponent <VectorSpriteComponent>().RenderGroup = Constants.Render.RENDER_GROUP_GAME_ENTITIES; return(entity); }
public static int GetTrianglesForShape(RenderShape renderShape, RenderProjection projection) { // Tris is the number of triangles in each shape int tris = 0; switch (renderShape) { case RenderShape.Cube: tris = 12; break; case RenderShape.Arrow: tris = (projection == RenderProjection.FirstPerson) ? 2 : 3; break; case RenderShape.Square: tris = 2; break; case RenderShape.Triangle: tris = 1; break; case RenderShape.PointToPoint: tris = 4; break; } return(tris); }
public static int GetVecticesForShape(RenderShape renderShape, RenderProjection projection) { // Verts is the number of UNIQUE vertices in each shape int verts = 0; switch (renderShape) { case RenderShape.Cube: verts = 8; break; case RenderShape.Arrow: verts = (projection == RenderProjection.FirstPerson) ? 4 : 7; break; case RenderShape.Square: verts = 4; break; case RenderShape.Triangle: verts = 3; break; case RenderShape.PointToPoint: verts = 8; break; } return(verts); }
public void UpdateRenderStyle(RenderShape style, RenderDirection direction) { if (style != m_RenderStyle || direction != m_RenderDirection) { m_RenderDirection = direction; m_RenderStyle = style; m_RenderState = k_BeginRenderer; } }
public static string RunIt() { // Uncomment the one you want to try out //// ===================================================== //// ===================================================== //// Rendering and Printing //// ===================================================== //// ===================================================== return(RenderShape.Run()); }
public RenderData(Vector p, Vector size) { Position = p; Size = size; FillColor = Color.Pink; OutlineColor = Color.Black; RenderType = RenderType.None; RenderShape = RenderShape.None; RenderLayer = RenderLayer.None; ObjectIndex = -1; ZIndex = 1; Text = ""; debug = false; }