Struct AutoLayerRuleDefinition

Source
pub struct AutoLayerRuleDefinition {
Show 22 fields pub active: bool, pub break_on_match: bool, pub chance: f64, pub checker: Checker, pub flip_x: bool, pub flip_y: bool, pub out_of_bounds_value: Option<i64>, pub pattern: Vec<i64>, pub perlin_active: bool, pub perlin_octaves: f64, pub perlin_scale: f64, pub perlin_seed: f64, pub pivot_x: f64, pub pivot_y: f64, pub size: i64, pub tile_ids: Vec<i64>, pub tile_mode: TileMode, pub uid: i64, pub x_modulo: i64, pub x_offset: i64, pub y_modulo: i64, pub y_offset: i64,
}
Expand description

This complex section isn’t meant to be used by game devs at all, as these rules are completely resolved internally by the editor before any saving. You should just ignore this part.

Fields§

§active: bool

If FALSE, the rule effect isn’t applied, and no tiles are generated.

§break_on_match: bool

When TRUE, the rule will prevent other rules to be applied in the same cell if it matches (TRUE by default).

§chance: f64

Chances for this rule to be applied (0 to 1)

§checker: Checker

Checker mode Possible values: None, Horizontal, Vertical

§flip_x: bool

If TRUE, allow rule to be matched by flipping its pattern horizontally

§flip_y: bool

If TRUE, allow rule to be matched by flipping its pattern vertically

§out_of_bounds_value: Option<i64>

Default IntGrid value when checking cells outside of level bounds

§pattern: Vec<i64>

Rule pattern (size x size)

§perlin_active: bool

If TRUE, enable Perlin filtering to only apply rule on specific random area

§perlin_octaves: f64§perlin_scale: f64§perlin_seed: f64§pivot_x: f64

X pivot of a tile stamp (0-1)

§pivot_y: f64

Y pivot of a tile stamp (0-1)

§size: i64

Pattern width & height. Should only be 1,3,5 or 7.

§tile_ids: Vec<i64>

Array of all the tile IDs. They are used randomly or as stamps, based on tileMode value.

§tile_mode: TileMode

Defines how tileIds array is used Possible values: Single, Stamp

§uid: i64

Unique Int identifier

§x_modulo: i64

X cell coord modulo

§x_offset: i64

X cell start offset

§y_modulo: i64

Y cell coord modulo

§y_offset: i64

Y cell start offset

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for AutoLayerRuleDefinition

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 AutoLayerRuleDefinition

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>,