105 lines
1.4 KiB
C#
105 lines
1.4 KiB
C#
using System.IO;
|
|
|
|
namespace GMAssetCompiler
|
|
{
|
|
public class GMInstance
|
|
{
|
|
public int X
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public int Y
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public int Id
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public int Index
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public string Code
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public double ScaleX
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public double ScaleY
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public uint Colour
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public double Rotation
|
|
{
|
|
get;
|
|
private set;
|
|
}
|
|
|
|
public GMInstance(Stream _stream, int _version)
|
|
{
|
|
X = _stream.ReadInteger();
|
|
Y = _stream.ReadInteger();
|
|
Index = _stream.ReadInteger();
|
|
Id = _stream.ReadInteger();
|
|
Code = _stream.ReadString();
|
|
if (_version >= 810)
|
|
{
|
|
ScaleX = _stream.ReadDouble();
|
|
ScaleY = _stream.ReadDouble();
|
|
Colour = (uint)_stream.ReadInteger();
|
|
}
|
|
else
|
|
{
|
|
ScaleX = 1.0;
|
|
ScaleY = 1.0;
|
|
Colour = uint.MaxValue;
|
|
}
|
|
if (_version >= 811)
|
|
{
|
|
Rotation = _stream.ReadDouble();
|
|
}
|
|
else
|
|
{
|
|
Rotation = 0.0;
|
|
}
|
|
}
|
|
|
|
public GMInstance(Stream _stream, bool _gmk)
|
|
{
|
|
X = _stream.ReadInteger();
|
|
Y = _stream.ReadInteger();
|
|
Index = _stream.ReadInteger();
|
|
Id = _stream.ReadInteger();
|
|
Code = _stream.ReadString();
|
|
_stream.ReadBoolean();
|
|
ScaleX = 1.0;
|
|
ScaleY = 1.0;
|
|
Colour = uint.MaxValue;
|
|
Rotation = 0.0;
|
|
}
|
|
}
|
|
}
|