Skip to main content

GitWaypoint

Struct GitWaypoint 

Source
pub struct GitWaypoint {
    pub tag: String,
    pub object_id: ObjectId,
    pub localized_name: GffLocalizedString,
    pub commandable: bool,
    pub map_note: Option<GitMapNote>,
    pub x_position: f32,
    pub y_position: f32,
    pub z_position: f32,
    pub x_orientation: f32,
    pub y_orientation: f32,
    pub z_orientation: f32,
}
Expand description

A waypoint placed in the area (struct type 5).

Waypoints are the one object list with a single form. LoadWaypoints ignores UseTemplates and always reads inline data, so there is no static / saved split here and Git::waypoints is a plain Vec.

§TemplateResRef is dead here, and deliberately unmodelled

Every waypoint in a real install carries a TemplateResRef, and nothing reads it. No waypoint load path looks the label up under any name, including the script-spawn fallback, where the resref comes from the script’s own CreateObject argument rather than from the file. Unlike GitDoor, a waypoint placement never resolves a blueprint.

Present in every file is not a reason to model it. The projection rule has no prevalence threshold: a field the engine ignores is one the typed view can drop however common it is, and callers needing byte fidelity work with the raw Gff tree. Modelling it would also invite a resref-existence check on a name nothing opens, which is the concrete cost of treating prevalence as significance.

§LinkedTo is dead here too

The transition group belongs to doors and triggers. A waypoint cannot carry the player anywhere, so a destination tag on one names a target for a transition that will never fire. Every waypoint in a real install carries the label and every one of them leaves it empty, which is what a field the toolset writes and nothing consumes looks like.

Tag, in contrast, is live and modelled. A waypoint is always inline with no blueprint behind it, so unlike GitDoor there is no second copy for the placement’s to lose to.

A map note is one value rather than a flag plus two optionals: across every waypoint in the fixture saves, HasMapNote is set exactly when MapNote is present, so the states where they disagree cannot occur and are not worth being able to build.

Fields§

§tag: String

Object tag (Tag).

§object_id: ObjectId

Runtime object ID (ObjectId).

§localized_name: GffLocalizedString

Displayed name (LocalizedName).

§commandable: bool

Accepts scripted commands (Commandable).

§map_note: Option<GitMapNote>

Map note, when this waypoint carries one.

§x_position: f32

X position (XPosition).

§y_position: f32

Y position (YPosition).

§z_position: f32

Z position (ZPosition).

§x_orientation: f32

X orientation (XOrientation).

§y_orientation: f32

Y orientation (YOrientation).

§z_orientation: f32

Z orientation (ZOrientation).

Implementations§

Source§

impl GitWaypoint

Source

pub fn from_gff_struct(s: &GffStruct) -> Self

Reads one WaypointList element.

Source

pub fn to_gff_struct(&self) -> GffStruct

Writes this waypoint back into a WaypointList element.

Trait Implementations§

Source§

impl Clone for GitWaypoint

Source§

fn clone(&self) -> GitWaypoint

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GitWaypoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GitWaypoint

Source§

fn default() -> GitWaypoint

Returns the “default value” for a type. Read more
Source§

impl PartialEq for GitWaypoint

Source§

fn eq(&self, other: &GitWaypoint) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for GitWaypoint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> StrictAs for T

Source§

fn strict_as<Dst>(self) -> Dst
where T: StrictCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> StrictCastFrom<Src> for Dst
where Src: StrictCast<Dst>,

Source§

fn strict_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.