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> 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 AnySource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
self as &dyn AnySource§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.