pub enum TileDataUpdate {
Erase,
DoNothing,
MaterialTile(TileData),
FreeformTile(TileDefinition),
TransformSet(Option<TileDefinitionHandle>),
Color(Color),
Property(Uuid, Option<TileSetPropertyValue>),
PropertySlice(Uuid, [Option<i8>; 9]),
Collider(FxHashMap<Uuid, TileCollider>),
Material(TileMaterialBounds),
}
Expand description
This represents a change to a tile in some tile set.
Variants§
Erase
Remove this tile.
DoNothing
Make no change to the tile.
MaterialTile(TileData)
This variant is for changing a material page tile.
FreeformTile(TileDefinition)
This variant is for changing a freeform page tile.
TransformSet(Option<TileDefinitionHandle>)
This variant is for changing the transform of a tile. This update must be applied to some cell of transform set page. It contains the new source tile for the transform cell.
Color(Color)
This variant is for changing a tile’s color.
Property(Uuid, Option<TileSetPropertyValue>)
This variant is for changing a tile’s property.
PropertySlice(Uuid, [Option<i8>; 9])
This variant is for changing some of a tile property’s nine slices.
Collider(FxHashMap<Uuid, TileCollider>)
This variant is for changing a tile’s collider.
Material(TileMaterialBounds)
This variant is for changing a tile’s material.
Implementations§
Source§impl TileDataUpdate
impl TileDataUpdate
Sourcepub fn apply_to_property_value(
&self,
property_id: Uuid,
value: TileSetPropertyValue,
) -> TileSetPropertyValue
pub fn apply_to_property_value( &self, property_id: Uuid, value: TileSetPropertyValue, ) -> TileSetPropertyValue
Use this update to create a new property value based on the given property id and value.
Sourcepub fn get_tile_collider(&self, uuid: &Uuid) -> Option<&TileCollider>
pub fn get_tile_collider(&self, uuid: &Uuid) -> Option<&TileCollider>
The tile collider for the given id, if the collider is being replaced by this update. None if the collider is not changed by this update.
Sourcepub fn substitute_transform_handle(
&self,
source: TileDefinitionHandle,
) -> Option<TileDefinitionHandle>
pub fn substitute_transform_handle( &self, source: TileDefinitionHandle, ) -> Option<TileDefinitionHandle>
The handle that should be used in place of the given handle, if this update has changed the handle of a transform set tile. None is returned if no tile should be rendered. The given tile is returned if no change should be made.
Sourcepub fn modify_render<'a>(
&self,
source: &'a TileRenderData,
) -> Option<Cow<'a, TileRenderData>>
pub fn modify_render<'a>( &self, source: &'a TileRenderData, ) -> Option<Cow<'a, TileRenderData>>
The render data that should be used in place of the given render data, based on this update. None is returned if no tile should be rendered.
Sourcepub fn take_data(&mut self) -> TileData
pub fn take_data(&mut self) -> TileData
Remove TileData
and turn this object into Erase
, if this is a MaterialTile. Otherwise, panic.
Sourcepub fn take_definition(&mut self) -> TileDefinition
pub fn take_definition(&mut self) -> TileDefinition
Remove TileDefinition
and turn this object into Erase
, if this is a FreeformTile. Otherwise, panic.
Sourcepub fn swap_with_data(&mut self, data: &mut TileData)
pub fn swap_with_data(&mut self, data: &mut TileData)
Swap whatever value is in this tile update with the corresponding value in the given TileData.
If this update has no data to swap, then do nothing and set this update to DoNothing
.
Trait Implementations§
Source§impl Clone for TileDataUpdate
impl Clone for TileDataUpdate
Source§fn clone(&self) -> TileDataUpdate
fn clone(&self) -> TileDataUpdate
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TileDataUpdate
impl Debug for TileDataUpdate
Source§impl Default for TileDataUpdate
impl Default for TileDataUpdate
Source§fn default() -> TileDataUpdate
fn default() -> TileDataUpdate
Auto Trait Implementations§
impl Freeze for TileDataUpdate
impl !RefUnwindSafe for TileDataUpdate
impl Send for TileDataUpdate
impl Sync for TileDataUpdate
impl Unpin for TileDataUpdate
impl !UnwindSafe for TileDataUpdate
Blanket Implementations§
Source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Any
. Could be used to downcast a trait object
to a particular type.fn into_any(self: Box<T>) -> Box<dyn Any>
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FieldValue for Twhere
T: 'static,
impl<T> FieldValue for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.Source§impl<T> ScriptMessagePayload for T
impl<T> ScriptMessagePayload for T
Source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
self
as &dyn Any
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
self
as &dyn Any
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.