Esempio n. 1
0
 public void Iteration(ref EntityChunk chunk, int index)
 {
     if (chunk.TryGetComponent(index, out C_UICanvas canvas))
     {
         canvas.canvas.TriggerMouseEvent(mouseData);
     }
 }
Esempio n. 2
0
 public void Iteration(ref EntityChunk chunk, int index)
 {
     if (chunk.TryGetComponent(index, out C_Position position))
     {
         position.value.y += (MathUtils.Sin((float)EntygineApp.EngineTime)) * 0.01f;
         chunk.SetComponent(index, position);
     }
 }
Esempio n. 3
0
            public void Iteration(ref EntityChunk chunk, int index)
            {
                chunk.TryGetComponent(index, out C_Camera camera);
                Vector2 floatingSize = (ImGui.GetContentRegionAvail() - imageSize) / 2f;

                ImGui.SetCursorPos(ImGui.GetCursorPos() + floatingSize);
                ImGui.Image((IntPtr)camera.cameraData.FinalFramebuffer.ColorBuffer, imageSize, new Vector2(0, 0), new Vector2(1, -1));
            }
Esempio n. 4
0
            public void Iteration(ref EntityChunk chunk)
            {
                if (!RenderPipelineCore.TryGetContext(out UICanvasRenderData canvasData))
                {
                    return;
                }

                canvasData.ClearCanvas();

                for (int i = 0; i < chunk.Count; i++)
                {
                    if (chunk.TryGetComponent(i, out C_UICanvas canvas))
                    {
                        canvasData.AddCanvas(canvas.canvas);
                    }
                }
            }
Esempio n. 5
0
            public void Iteration(ref EntityChunk chunk, int index)
            {
                if (!chunk.TryGetComponent(index, out C_EditorCamera editorCamera) || !chunk.TryGetComponent(index, out C_Transform transform))
                {
                    return;
                }

                editorCamera.speed += speedDelta * deltaTime;
                editorCamera.speed  = MathHelper.Clamp(editorCamera.speed, 0, 100);

                editorCamera.focusDistance -= distDelta * deltaTime * 100;

                editorCamera.yaw   += rotDelta.X * deltaTime * editorCamera.sensitivity;
                editorCamera.pitch += rotDelta.Y * deltaTime * editorCamera.sensitivity;

                Vector3 dir = new Vector3(
                    (float)MathHelper.Cos(MathHelper.DegreesToRadians(editorCamera.yaw)) * (float)MathHelper.Cos(MathHelper.DegreesToRadians(editorCamera.pitch))
                    , (float)MathHelper.Sin(MathHelper.DegreesToRadians(editorCamera.pitch))
                    , (float)MathHelper.Sin(MathHelper.DegreesToRadians(editorCamera.yaw)) * (float)MathHelper.Cos(MathHelper.DegreesToRadians(editorCamera.pitch)));

                Vector3 right = Vector3.Normalize(Vector3.Cross(dir, Vector3.UnitY));
                Vector3 up    = Vector3.Normalize(Vector3.Cross(right, dir));

                Vector3 posDeltaRelative = -right * posDelta.X + dir * posDelta.Z + Vector3.UnitY * posDelta.Y;

                posDeltaRelative *= deltaTime;

                editorCamera.focusPoint += posDeltaRelative * editorCamera.speed;
                transform.value          = Matrix4.LookAt(editorCamera.focusPoint + dir * editorCamera.focusDistance, editorCamera.focusPoint, up);

                //DevGizmos.DrawPoint((Vec3f)editorCamera.focusPoint);
                DevGizmos.DrawLine((Vec3f)editorCamera.focusPoint, (Vec3f)editorCamera.focusPoint + Vec3f.Right);

                chunk.SetComponent(index, transform);
                chunk.SetComponent(index, editorCamera);
            }
Esempio n. 6
0
            public void Iteration(ref EntityChunk chunk)
            {
                if (!chunk.TryGetSharedComponent(out SC_RenderMesh renderMesh))
                {
                    return;
                }

                if (!RenderPipelineCore.TryGetContext(out Rendering.GeometryRenderData geometryData))
                {
                    return;
                }

                if (geometryData.TryGetRenderMeshGroup(renderMesh.id, out Rendering.MeshRenderGroup group))
                {
                    group.ClearTransforms();
                    for (int i = 0; i < chunk.Count; i++)
                    {
                        if (chunk.TryGetComponent(i, out C_Transform transform))
                        {
                            group.AddTransform(transform.value);
                        }
                    }
                }
            }