/// <summary>
        /// Camera transform
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        protected static VertexPositionColor[] CameraTransform(VertexPositionColor[] source)
        {
            VertexPositionColor[] result = new VertexPositionColor[source.Length];
            Vector2 cameraPosition = Camera2D.Instance.GetPosition();
            source.CopyTo(result, 0);

            for (int i = 0; i < result.Length; i++)
            {
                result[i].Position.X -= cameraPosition.X;
                result[i].Position.Y -= cameraPosition.Y;
            }

            return result;
        }
Esempio n. 2
0
        public virtual void DrawColors(VertexPositionColor[] colors, Vector2 location)
        {
            if (colors == null) throw new ArgumentNullException("colors");

            VertexPositionColor[] copiedColors = new VertexPositionColor[colors.Length];
            colors.CopyTo(copiedColors, 0);
            this._commands.Enqueue(new ContextCommand { CommandType = CommandType.DrawColors, Vectors = new Vector2[] { location }, Addtions = new object[] { copiedColors } });
        }
Esempio n. 3
0
        /// <summary>
        /// Gets a LineStrip Primitive Parameters
        /// </summary>
        /// <param name="isclose"></param>
        /// <param name="center"></param>
        /// <param name="vertices"></param>
        /// <returns></returns>
        public static PrimitivePara LineStrip(bool isclose,Vector3 center, VertexPositionColor[] vertices)
        {
            VertexPositionColor[] v;
            if (isclose)
            {
                v = new VertexPositionColor[vertices.Length+1];
                vertices.CopyTo(v, 0);
                v[vertices.Length] = vertices[0];
            }
            else
            {
                v = vertices;
            }

            int[] i = new int[v.Length];
            for (int j = 0; j < i.Length; j++)
            {
                i[j] = j;
            }
            var temp =new PrimitivePara(v, i, vsBasePara.VS_PTypeDefault(VSType.Primitive, PrimitiveType.LineStrip));
            temp.BasePara.center = center;
            return temp;
        }