Table of Contents

Struct MapMarkerSnapshot

Namespace
FishMMO.Client
Assembly
FishMMO.Client.dll

One marker as the map should draw it this refresh: where it is, what it looks like, and what the player is allowed to be told about it.

public struct MapMarkerSnapshot
Inherited Members

Remarks

A snapshot rather than a reference to the MapMarker itself, and that is the point of the type. Everything the UI draws comes from here, so the UI has no way to read a position the filter decided to withhold, coarsen or delay — the exact position of a throttled marker is never copied into one of these in the first place.

A struct because a busy zone produces a few hundred of them several times a second, and they are filled, sorted and thrown away inside a single method.

Fields

ClampToEdge

Whether to pin the marker to the frame edge when it is outside the view.

public bool ClampToEdge

Field Value

bool

FacingDegrees

Which way the object is facing, in degrees clockwise from world north.

public float FacingDegrees

Field Value

float

HasFacing

Whether the facing is meaningful, or the marker should be drawn unrotated.

public bool HasFacing

Field Value

bool

Icon

Icon to draw, or null to fall back to the type's themed dot.

public Sprite Icon

Field Value

Sprite

Label

Text drawn beside the icon, or null for none.

public string Label

Field Value

string

NoteID

Identity of the note this marker came from, or zero when it is not a note.

public long NoteID

Field Value

long

Position

Where to draw it, in world space. Not necessarily where the object is.

public Vector3 Position

Field Value

Vector3

Remarks

For a marker with TracksSource set this is only the position at the moment the snapshot was collected; the view re-reads the live transform each frame. For a throttled one it is the coarsened, deliberately stale position, and it is the only position the map has.

Priority

Draw priority. Higher draws on top.

public int Priority

Field Value

int

Relationship

How the local player stands towards it.

public MapRelationship Relationship

Field Value

MapRelationship

Size

Icon size in UI points.

public float Size

Field Value

float

Source

The marker this came from. May be null for notes and authored landmarks.

public MapMarker Source

Field Value

MapMarker

Tint

Tint for the icon.

public Color Tint

Field Value

Color

Tooltip

Text shown when the pointer rests on the marker, or null for none.

public string Tooltip

Field Value

string

TracksSource

Whether the view should re-read Source's live transform every frame instead of drawing at the collected Position.

public bool TracksSource

Field Value

bool

Remarks

Set only for markers the filter resolved exactly. Collecting markers is expensive enough to do about ten times a second, but a character crosses real distance in a tenth of a second — so drawing at the collected position makes every dot stutter along behind its character while the terrain scrolls smoothly underneath it.

Never set for a throttled marker, and that is the point of the flag rather than having the view always re-read the source: the whole value of the detection tier is that the exact position is never published, and a view that helpfully refreshed it from the transform would undo the filter from the far side.

Type

What the marker represents.

public MapMarkerType Type

Field Value

MapMarkerType