Prototype

Struct Prototype 

Source
pub struct Prototype {
    pub basic: BasicMembers,
    pub visibility: Option<Vec<String>>,
    pub parent: Option<String>,
    pub abstract: Option<bool>,
    pub typename: Option<String>,
    pub instance_limit: Option<Number>,
    pub deprecated: bool,
    pub properties: Vec<Property>,
    pub custom_properties: Option<CustomProperties>,
}
Expand description

Prototypes are templates for components in the game engine. They define parameters which the engine uses to create predefined behavior.

Fields§

§basic: BasicMembers

The basic fields of the type.

§visibility: Option<Vec<String>>

The list of game expansions needed to use this prototype.

If not present, no restrictions apply.

Possible values: "space_age"

§parent: Option<String>

The name of the prototype’s parent, if any.

§abstract: Option<bool>

Whether the prototype is abstract, and thus can’t be created directly.

§typename: Option<String>

The type name of the prototype, like "boiler". None for abstract prototypes.

§instance_limit: Option<Number>

The maximum number of instances of this prototype tnat can be created, if any.

§deprecated: bool

Whether the prototype is deprecated and shouldn’t be used anymore.

§properties: Vec<Property>

The list of properties that the prototype has. May be empty.

§custom_properties: Option<CustomProperties>

A special set of properties that the user can add an arbitrary number of.

Specifies the type of the key and value of the custom property.

Trait Implementations§

Source§

impl Debug for Prototype

Source§

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

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

impl<'de> Deserialize<'de> for Prototype

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Prototype

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> 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<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, 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,