Files
RobustToolbox/Robust.Server/GameObjects/Components/Eye/EyeComponent.cs
Acruid 2183cd7ca1 Massive Namespace Cleanup (#1544)
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
2021-02-10 23:27:19 -08:00

80 lines
1.8 KiB
C#

using Robust.Shared.GameObjects;
using Robust.Shared.Maths;
using Robust.Shared.Serialization;
namespace Robust.Server.GameObjects
{
public class EyeComponent : SharedEyeComponent
{
private bool _drawFov;
private Vector2 _zoom;
private Vector2 _offset;
private Angle _rotation;
public override bool DrawFov
{
get => _drawFov;
set
{
if (_drawFov == value)
return;
_drawFov = value;
Dirty();
}
}
public override Vector2 Zoom
{
get => _zoom;
set
{
if (_zoom.EqualsApprox(value))
return;
_zoom = value;
Dirty();
}
}
public override Vector2 Offset
{
get => _offset;
set
{
if (_offset.EqualsApprox(value))
return;
_offset = value;
Dirty();
}
}
public override Angle Rotation
{
get => _rotation;
set
{
if(_rotation.EqualsApprox(value))
return;
_rotation = value;
Dirty();
}
}
public override ComponentState GetComponentState()
{
return new EyeComponentState(DrawFov, Zoom, Offset, Rotation);
}
public override void ExposeData(ObjectSerializer serializer)
{
base.ExposeData(serializer);
serializer.DataField(ref _zoom, "zoom", Vector2.One/2f);
serializer.DataFieldCached(ref _drawFov, "drawFov", true);
}
}
}