Paste #39334: Untitled Paste

Date: 2017/01/24 07:58:29 UTC-08:00
Type: Plain Text

View Raw Paste Download This Paste
Copy Link


using System;
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;


namespace NewNewThing
{
    public class Entity
    {
        public float Mass = 1;
        public Vector2 Velocity = Vector2.Zero;
        public Vector2 Position = Vector2.Zero;
        public float Size = 1;
        public float Spin = 0;
        public float SpinSpeed = 0;
        public Vector3 Color = Vector3.One;

        public void Tick(float delta)
        {
            Position += Velocity * delta;
            Spin += SpinSpeed * delta;
        }

        public void Render()
        {
            GL.PushMatrix();
            GL.Translate(Position.X, Position.Y, 0);
            GL.Rotate(Spin, 0, 0, 1);
            GL.Begin(PrimitiveType.Quads);
            GL.Color3(Color);
            GL.TexCoord2(0, 0);
            GL.Vertex2(-Size, -Size);
            GL.TexCoord2(1, 0);
            GL.Vertex2(Size, -Size);
            GL.TexCoord2(1, 1);
            GL.Vertex2(Size, Size);
            GL.TexCoord2(0, 1);
            GL.Vertex2(-Size, Size);
            GL.End();
            GL.PopMatrix();
        }
    }
}