using System; using Unity.Collections; using Unity.Entities; using Unity.Mathematics; using UnityEngine; [Serializable] public struct OrbitCamera : IComponentData { public float RotationSpeed; public float MaxVAngle; public float MinVAngle; public bool RotateWithCharacterParent; public float MinDistance; public float MaxDistance; public float DistanceMovementSpeed; public float DistanceMovementSharpness; public float ObstructionRadius; public float ObstructionInnerSmoothingSharpness; public float ObstructionOuterSmoothingSharpness; public bool PreventFixedUpdateJitter; public float TargetDistance; public float SmoothedTargetDistance; public float ObstructedDistance; public float PitchAngle; public float3 PlanarForward; } [Serializable] public struct OrbitCameraControl : IComponentData { public Entity FollowedCharacterEntity; public float2 LookDegreesDelta; public float ZoomDelta; } [Serializable] public struct OrbitCameraIgnoredEntityBufferElement : IBufferElementData { public Entity Entity; }