Class Switches
java.lang.Object
net.mtrop.doom.texture.Switches
- All Implemented Interfaces:
Iterable<Switches.Entry>,BinaryObject,Sizable
This class represents the contents of a Boom Engine SWITCHES
lump. This lump contains extended information regarding textures
used for in-game switches.
- Author:
- Matthew Tropiano
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classEntry for Switches.static enumEnumeration of game types.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 TypeMethodDescriptionvoidaddEntry(String offName, String onName, Switches.Game game) Adds a switch entry to this lump.get(int i) Returns a switch entry at a specific index.intbooleanisEmpty()Returns if this object contains no objects.iterator()voidreadBytes(InputStream in) Reads from anInputStreamand sets this object's fields.removeEntry(int i) Removes a switch entry at a specific index.intsize()voidwriteBytes(OutputStream out) Writes this object to anOutputStream.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.mtrop.doom.object.BinaryObject
fromBytes, readFile, toBytes, writeFile, writeFileMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
entryList
List of entries.
-
-
Constructor Details
-
Switches
public Switches()Creates a new SWITCHES lump.
-
-
Method Details
-
get
Returns a switch entry at a specific index.- Parameters:
i- the index of the entry to return.- Returns:
- the corresponding entry, or
nullif no corresponding entry for that index. - Throws:
IndexOutOfBoundsException- if the index is out of range (less than 0 or greater than or equal to getFlatCount()).
-
removeEntry
Removes a switch entry at a specific index.- Parameters:
i- the index of the entry to remove.- Returns:
- the corresponding removed entry, or
nullif no corresponding entry for that index. - Throws:
IndexOutOfBoundsException- if the index is out of range (less than 0 or greater than or equal to getSwitchCount()).
-
getEntryCount
public int getEntryCount()- Returns:
- the amount of switch entries in this lump.
-
addEntry
Adds a switch entry to this lump. The names must be 8 characters or less.- Parameters:
offName- the "off" name for the switch.onName- the "on" name for the switch.game- the game type that this switch works with.- Throws:
IllegalArgumentException- if any of the texture names are invalid or game is null.
-
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.
-
iterator
- Specified by:
iteratorin interfaceIterable<Switches.Entry>
-
size
-
isEmpty
public boolean isEmpty()Description copied from interface:SizableReturns if this object contains no objects. The general policy of this method is that this returns true if and only ifSizable.size()returns 0.
-