Terraria 1.4.0.5 Source Code
This commit is contained in:
commit
05205f009e
1059 changed files with 563450 additions and 0 deletions
68
DataStructures/SpriteFrame.cs
Normal file
68
DataStructures/SpriteFrame.cs
Normal file
|
@ -0,0 +1,68 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: Terraria.DataStructures.SpriteFrame
|
||||
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
|
||||
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
|
||||
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
|
||||
namespace Terraria.DataStructures
|
||||
{
|
||||
public struct SpriteFrame
|
||||
{
|
||||
public int PaddingX;
|
||||
public int PaddingY;
|
||||
private byte _currentColumn;
|
||||
private byte _currentRow;
|
||||
public readonly byte ColumnCount;
|
||||
public readonly byte RowCount;
|
||||
|
||||
public byte CurrentColumn
|
||||
{
|
||||
get => this._currentColumn;
|
||||
set => this._currentColumn = value;
|
||||
}
|
||||
|
||||
public byte CurrentRow
|
||||
{
|
||||
get => this._currentRow;
|
||||
set => this._currentRow = value;
|
||||
}
|
||||
|
||||
public SpriteFrame(byte columns, byte rows)
|
||||
{
|
||||
this.PaddingX = 2;
|
||||
this.PaddingY = 2;
|
||||
this._currentColumn = (byte) 0;
|
||||
this._currentRow = (byte) 0;
|
||||
this.ColumnCount = columns;
|
||||
this.RowCount = rows;
|
||||
}
|
||||
|
||||
public SpriteFrame(byte columns, byte rows, byte currentColumn, byte currentRow)
|
||||
{
|
||||
this.PaddingX = 2;
|
||||
this.PaddingY = 2;
|
||||
this._currentColumn = currentColumn;
|
||||
this._currentRow = currentRow;
|
||||
this.ColumnCount = columns;
|
||||
this.RowCount = rows;
|
||||
}
|
||||
|
||||
public SpriteFrame With(byte columnToUse, byte rowToUse)
|
||||
{
|
||||
SpriteFrame spriteFrame = this;
|
||||
spriteFrame.CurrentColumn = columnToUse;
|
||||
spriteFrame.CurrentRow = rowToUse;
|
||||
return spriteFrame;
|
||||
}
|
||||
|
||||
public Rectangle GetSourceRectangle(Texture2D texture)
|
||||
{
|
||||
int num1 = texture.Width / (int) this.ColumnCount;
|
||||
int num2 = texture.Height / (int) this.RowCount;
|
||||
return new Rectangle((int) this.CurrentColumn * num1, (int) this.CurrentRow * num2, num1 - (this.ColumnCount == (byte) 1 ? 0 : this.PaddingX), num2 - (this.RowCount == (byte) 1 ? 0 : this.PaddingY));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue