public override void Update(float delta) { foreach (var c in Registery.GetComponentsOf <SampleComponent>()) { c.DeltaTime += delta; Console.WriteLine(c.DeltaTime); } }
public override void Update(GameTime gameTime) { var components = Registery.GetComponentsOf <TransformComponent>(); foreach (var c in components) { c.Position += c.Velocity * (float)gameTime; var transform = Math1.Translate(Matrix4.Identity(), c.Position); var scale = Math1.Scale(Matrix4.Identity(), new Vector3(c.Scale)); c.Transform = transform * scale; } }
public override void Update(GameTime gameTime) { var components = Registery.GetComponentsOf <RenderComponent>(); var camera = Registery.GetComponentsOf <CameraComponent>().FirstOrDefault(); RenderCommand.SetClearColor(0.1f, 0.1f, 0.1f, 1.0f); RenderCommand.Clear(); Render.BeginScene(camera.ViewProjectionMatrix); foreach (var c in components) { var transform = c.Record.GetComponent <TransformComponent>()?.Transform ?? Matrix4.Identity(); Render.Submit(c.ShaderProgram, c.VertexArray, transform); } Render.EndScene(); }
public override void Update(GameTime gameTime) { var camera = Registery.GetComponentsOf <CameraComponent>().FirstOrDefault(); var transfrom = camera.Record.GetComponent <TransformComponent>(); switch (camera.CameraType) { case CameraType.Orthographic: camera.ProjectionMatrix = Math1.Ortho(camera.Left, camera.Right, camera.Bottom, camera.Top, -1.0f, 1.0f); var transform = Math1.Translate(Matrix4.Identity(), transfrom.Position + transfrom.Velocity * (float)gameTime) * Math1.Rotate(Matrix4.Identity(), Math1.Radians(transfrom.Rotation), new Vector3(0, 0, 1)); camera.ViewMatrix = transform.Inverse(); camera.ViewProjectionMatrix = camera.ProjectionMatrix * camera.ViewMatrix; break; } base.Update(gameTime); }