Class DoomThing
java.lang.Object
net.mtrop.doom.map.data.DoomThing
- All Implemented Interfaces:
BinaryObject
Doom/Boom/MBF 10-byte format implementation of Thing.
- Author:
- Matthew Tropiano
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.mtrop.doom.object.BinaryObject
BinaryObject.InlineScanner<BO extends BinaryObject>, BinaryObject.Reflect, BinaryObject.Scanner<BO extends BinaryObject>, BinaryObject.Shared, BinaryObject.Transformer<BO extends BinaryObject> -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetAngle()intgetFlags()intgetType()intgetX()intgetY()booleanisFlagSet(int flagType) Check's if a flag bit is set.voidreadBytes(InputStream in) Reads from anInputStreamand sets this object's fields.voidset(int x, int y) Sets the coordinates of this thing.voidsetAngle(int angle) Sets the angle (in degrees).voidsetFlag(int flagType, boolean set) Sets/clears a bit flag.voidsetFlags(int flags) Sets/replaces this linedef's full bitflags.voidsetType(int type) Sets thing type (a.k.a.voidsetX(int x) Sets the position X-coordinate.voidsetY(int y) Sets the position Y-coordinate.toString()voidwriteBytes(OutputStream out) Writes this object to anOutputStream.
-
Field Details
-
LENGTH
public static final int LENGTHByte length of this object.- See Also:
-
x
protected int xThing X position. -
y
protected int yThing Y position. -
angle
protected int angleThing angle. -
type
protected int typeThing type (editor number). -
flags
protected int flagsBehavior bitflags.
-
-
Constructor Details
-
DoomThing
public DoomThing()Creates a new thing.
-
-
Method Details
-
readBytes
Description copied from interface:BinaryObjectReads from anInputStreamand sets this object's fields. Only reads the amount of bytes that it takes to read a single instance of the object. Note that not every object may have a consistent length!- Specified by:
readBytesin interfaceBinaryObject- Parameters:
in- theInputStreamto read from.- Throws:
IOException- if a read error occurs.
-
writeBytes
Description copied from interface:BinaryObjectWrites this object to anOutputStream.- Specified by:
writeBytesin interfaceBinaryObject- Parameters:
out- theOutputStreamto write to.- Throws:
IOException- if a write error occurs.
-
toString
-
set
public void set(int x, int y) Sets the coordinates of this thing.- Parameters:
x- the x-coordinate value.y- the y-coordinate value.
-
getX
public int getX()- Returns:
- the position X-coordinate.
-
setX
public void setX(int x) Sets the position X-coordinate.- Parameters:
x- the new x-coordinate.- Throws:
IllegalArgumentException- if x is outside of the range -32768 to 32767.
-
getY
public int getY()- Returns:
- the position Y-coordinate.
-
setY
public void setY(int y) Sets the position Y-coordinate.- Parameters:
y- the new y-coordinate.- Throws:
IllegalArgumentException- if y is outside of the range -32768 to 32767.
-
getAngle
public int getAngle()- Returns:
- the angle (in degrees).
-
setAngle
public void setAngle(int angle) Sets the angle (in degrees).- Parameters:
angle- the new angle in degrees.- Throws:
IllegalArgumentException- if angle is outside of the range -32768 to 32767.
-
getType
public int getType()- Returns:
- thing type (a.k.a. editor number).
-
setType
public void setType(int type) Sets thing type (a.k.a. editor number).- Parameters:
type- the new thing type.- Throws:
IllegalArgumentException- if type is outside of the range 0 to 65535.
-
getFlags
public int getFlags()- Returns:
- this linedef's full bitflags.
-
setFlags
public void setFlags(int flags) Sets/replaces this linedef's full bitflags.- Parameters:
flags- the flags to set
-
isFlagSet
public boolean isFlagSet(int flagType) Check's if a flag bit is set.- Parameters:
flagType- the flag type (constant).- Returns:
- true if set, false if not.
- See Also:
-
setFlag
public void setFlag(int flagType, boolean set) Sets/clears a bit flag.- Parameters:
flagType- the flag type (constant).set- if true, set the bit. If false, clear it.- See Also:
-