mirror of
https://github.com/AdAstra-LD/DS-Pokemon-Rom-Editor.git
synced 2026-05-09 12:51:54 -05:00
105 lines
2.8 KiB
C#
105 lines
2.8 KiB
C#
using System.IO;
|
|
|
|
namespace DSPRE.ROMFiles {
|
|
public class HeadbuttTree {
|
|
public bool picked = false;
|
|
|
|
private ushort _globalX;
|
|
private ushort _globalY;
|
|
private ushort _matrixX;
|
|
private ushort _matrixY;
|
|
private ushort _mapX;
|
|
private ushort _mapY;
|
|
|
|
public bool IsUnused {
|
|
get {
|
|
return globalX == ushort.MaxValue && globalY == ushort.MaxValue;
|
|
}
|
|
}
|
|
|
|
public enum Types {
|
|
Normal,
|
|
Special,
|
|
}
|
|
|
|
public HeadbuttTree(ushort globalX = ushort.MaxValue, ushort globalY = ushort.MaxValue) {
|
|
this.globalX = globalX;
|
|
this.globalY = globalY;
|
|
}
|
|
|
|
public HeadbuttTree(HeadbuttTree original) {
|
|
this.globalX = original.globalX;
|
|
this.globalY = original.globalY;
|
|
}
|
|
|
|
public ushort globalX {
|
|
get { return _globalX; }
|
|
set {
|
|
_globalX = value;
|
|
_matrixX = (ushort)(_globalX / MapFile.mapSize);
|
|
_mapX = (ushort)(_globalX % MapFile.mapSize);
|
|
}
|
|
}
|
|
|
|
public ushort globalY {
|
|
get { return _globalY; }
|
|
set {
|
|
_globalY = value;
|
|
_matrixY = (ushort)(_globalY / MapFile.mapSize);
|
|
_mapY = (ushort)(_globalY % MapFile.mapSize);
|
|
}
|
|
}
|
|
|
|
public ushort matrixX {
|
|
get {
|
|
return _matrixX;
|
|
}
|
|
set {
|
|
_matrixX = value;
|
|
_globalX = (ushort)(_matrixX * MapFile.mapSize + _mapX);
|
|
_mapX = (ushort)(_globalX % MapFile.mapSize);
|
|
}
|
|
}
|
|
|
|
public ushort matrixY {
|
|
get {
|
|
return _matrixY;
|
|
}
|
|
set {
|
|
_matrixY = value;
|
|
_globalY = (ushort)(_matrixY * MapFile.mapSize + _mapY);
|
|
_mapY = (ushort)(_globalY % MapFile.mapSize);
|
|
}
|
|
}
|
|
|
|
public ushort mapX {
|
|
get {
|
|
return _mapX;
|
|
}
|
|
set {
|
|
_mapX = value;
|
|
_globalX = (ushort)(_matrixX * MapFile.mapSize + _mapX);
|
|
_matrixX = (ushort)(_globalX / MapFile.mapSize);
|
|
}
|
|
}
|
|
|
|
public ushort mapY {
|
|
get {
|
|
return _mapY;
|
|
}
|
|
set {
|
|
_mapY = value;
|
|
_globalY = (ushort)(_matrixY * MapFile.mapSize + _mapY);
|
|
_matrixY = (ushort)(_globalY / MapFile.mapSize);
|
|
}
|
|
}
|
|
|
|
public override string ToString() {
|
|
if (IsUnused) {
|
|
return "Unused Tree";
|
|
}
|
|
return $"Tree at Global X: {globalX}, Global Y: {globalY}";
|
|
}
|
|
}
|
|
}
|