Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InternalDraw()

unsafe void Terraria.Graphics.TileBatch.InternalDraw ( Texture2D texture,
ref Vector4 destination,
bool scaleDestination,
ref Rectangle? sourceRectangle,
ref VertexColors colors,
ref Vector2 origin,
SpriteEffects effects,
float rotation )
inlineprivate

Definition at line 197 of file TileBatch.cs.

198 {
200 {
201 Array.Resize(ref _spriteDataQueue, _spriteDataQueue.Length << 1);
202 }
203 fixed (SpriteData* ptr = &_spriteDataQueue[_queuedSpriteCount])
204 {
205 float num = destination.Z;
206 float num2 = destination.W;
207 if (sourceRectangle.HasValue)
208 {
209 Rectangle value = sourceRectangle.Value;
210 ptr->Source.X = value.X;
211 ptr->Source.Y = value.Y;
212 ptr->Source.Z = value.Width;
213 ptr->Source.W = value.Height;
214 if (scaleDestination)
215 {
216 num *= (float)value.Width;
217 num2 *= (float)value.Height;
218 }
219 }
220 else
221 {
222 float num3 = texture.Width;
223 float num4 = texture.Height;
224 ptr->Source.X = 0f;
225 ptr->Source.Y = 0f;
226 ptr->Source.Z = num3;
227 ptr->Source.W = num4;
228 if (scaleDestination)
229 {
230 num *= num3;
231 num2 *= num4;
232 }
233 }
234 ptr->Destination.X = destination.X;
235 ptr->Destination.Y = destination.Y;
236 ptr->Destination.Z = num;
237 ptr->Destination.W = num2;
238 ptr->Origin.X = origin.X;
239 ptr->Origin.Y = origin.Y;
240 ptr->Effects = effects;
241 ptr->Colors = colors;
242 ptr->Rotation = rotation;
243 }
244 if (_spriteTextures == null || _spriteTextures.Length != _spriteDataQueue.Length)
245 {
246 Array.Resize(ref _spriteTextures, _spriteDataQueue.Length);
247 }
249 }
SpriteData[] _spriteDataQueue
Definition TileBatch.cs:30

References Terraria.Graphics.TileBatch._queuedSpriteCount, Terraria.Graphics.TileBatch._spriteDataQueue, Terraria.Graphics.TileBatch._spriteTextures, System.destination, Microsoft.Xna.Framework.Graphics.Texture2D.Height, System.value, Microsoft.Xna.Framework.Graphics.Texture2D.Width, and Microsoft.Xna.Framework.Rectangle.X.

Referenced by Terraria.Graphics.TileBatch.Draw(), Terraria.Graphics.TileBatch.Draw(), Terraria.Graphics.TileBatch.Draw(), Terraria.Graphics.TileBatch.Draw(), Terraria.Graphics.TileBatch.Draw(), Terraria.Graphics.TileBatch.Draw(), and Terraria.Graphics.TileBatch.Draw().