@@ -67,12 +67,14 @@ impl From<&TilePos> for Vec2 {
67
67
68
68
/// A texture index into the atlas or texture array for a single tile. Indices in an atlas are horizontal based.
69
69
#[ derive( Component , Reflect , Default , Clone , Copy , Debug , Hash ) ]
70
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
70
71
#[ reflect( Component ) ]
71
72
pub struct TileTextureIndex ( pub u32 ) ;
72
73
73
74
/// A custom color for the tile.
74
75
#[ derive( Component , Reflect , Default , Clone , Copy , Debug ) ]
75
76
#[ reflect( Component ) ]
77
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
76
78
pub struct TileColor ( pub Color ) ;
77
79
78
80
impl From < Color > for TileColor {
@@ -84,6 +86,7 @@ impl From<Color> for TileColor {
84
86
/// Hides or shows a tile based on the boolean. Default: True
85
87
#[ derive( Component , Reflect , Clone , Copy , Debug , Hash ) ]
86
88
#[ reflect( Component ) ]
89
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
87
90
pub struct TileVisible ( pub bool ) ;
88
91
89
92
impl Default for TileVisible {
@@ -95,6 +98,7 @@ impl Default for TileVisible {
95
98
/// Flips the tiles texture along the X, Y or diagonal axes
96
99
#[ derive( Component , Reflect , Default , Clone , Copy , Debug , Hash ) ]
97
100
#[ reflect( Component ) ]
101
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
98
102
pub struct TileFlip {
99
103
/// Flip tile along the x axis.
100
104
pub x : bool ,
@@ -105,6 +109,7 @@ pub struct TileFlip {
105
109
106
110
/// This an optional tile bundle with default components.
107
111
#[ derive( Bundle , Default , Clone , Copy , Debug ) ]
112
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
108
113
pub struct TileBundle {
109
114
pub position : TilePos ,
110
115
pub texture_index : TileTextureIndex ,
@@ -117,12 +122,14 @@ pub struct TileBundle {
117
122
118
123
#[ derive( Component , Reflect , Default , Clone , Copy , Debug ) ]
119
124
#[ reflect( Component ) ]
125
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
120
126
pub struct TilePosOld ( pub TilePos ) ;
121
127
122
128
/// A component that is attached to a Tile entity that
123
129
/// tells the GPU how to animate the tile.
124
130
/// Currently all frames must be aligned in your tilemap.
125
131
#[ derive( Component , Reflect , Clone , Copy , Debug ) ]
132
+ #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
126
133
pub struct AnimatedTile {
127
134
/// The start frame index in the tilemap atlas/array (inclusive).
128
135
pub start : u32 ,
0 commit comments