Rabbit Escape  2017-01-14_18:33:47_+0000__(tag:_v0.10.1)
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Static Package Attributes | Private Member Functions | Private Attributes | List of all members
rabbitescape.engine.textworld.LineProcessor Class Reference
Collaboration diagram for rabbitescape.engine.textworld.LineProcessor:
Collaboration graph
[legend]

Classes

class  KeyListKey
 

Public Member Functions

 LineProcessor (List< Block > blocks, List< Rabbit > rabbits, List< Thing > things, Map< Position, Integer > waterAmounts, Map< Token.Type, Integer > abilities, String[] lines, VariantGenerator variantGen)
 
Comment[] getComments ()
 
String metaString (String key, String def)
 
String[] metaStringArrayByKey (String key, String[] def)
 
int metaInt (String key, int def)
 
int[] metaIntArray (String key, int[] def)
 
boolean metaBool (String key, boolean def)
 
Dimension size ()
 
Thing processChar (char c, int x, int y, VariantGenerator variantGen)
 
VoidMarkerStyle.Style generateVoidMarkerStyle ()
 

Static Public Member Functions

static String stripCodeSuffix (String key)
 
static KeyListKey parseKeyListKey (String key)
 
static int stringHash (String s)
 

Public Attributes

final String[] lines
 
int lineNum
 

Static Public Attributes

static final String CODE_SUFFIX = ".code"
 

Static Package Attributes

static final Pattern keyListKeyRegex
 

Private Member Functions

void process (VariantGenerator variantGen)
 
void duplicateMetaCheck (Set< String > set, String key)
 
void processCommentLine (String line)
 
void maybeLinkToLastComment (String key)
 
void processMetaLine (String line, VariantGenerator variantGen)
 
boolean matchesKeyList (List< String > keyList, String key)
 
int toInt (String value)
 
ArrayList< Integer > toIntArray (String value)
 
boolean toBool (String value)
 
void processItemsLine (String line, VariantGenerator variantGen)
 

Private Attributes

final List< Blockblocks
 
final List< Rabbitrabbits
 
final List< Thingthings
 
final Map< Position, Integer > waterAmounts
 
final Map< Token.Type, Integer > abilities
 
final Map< String, String > m_metaStrings
 
final Map< String, Map< Integer, String > > m_metaStringArraysByKey
 
final Map< String, Integer > m_metaInts
 
final Map< String, Boolean > m_metaBools
 
final Map< String, ArrayList< Integer > > m_metaIntArrays
 
final List< PositionstarPoints
 
final List< Commentcomments
 
int width
 
int height
 
int currentStarPoint
 

Constructor & Destructor Documentation

rabbitescape.engine.textworld.LineProcessor.LineProcessor ( List< Block blocks,
List< Rabbit rabbits,
List< Thing things,
Map< Position, Integer >  waterAmounts,
Map< Token.Type, Integer >  abilities,
String[]  lines,
VariantGenerator  variantGen 
)

Member Function Documentation

void rabbitescape.engine.textworld.LineProcessor.duplicateMetaCheck ( Set< String >  set,
String  key 
)
private
VoidMarkerStyle.Style rabbitescape.engine.textworld.LineProcessor.generateVoidMarkerStyle ( )
Comment [] rabbitescape.engine.textworld.LineProcessor.getComments ( )
boolean rabbitescape.engine.textworld.LineProcessor.matchesKeyList ( List< String >  keyList,
String  key 
)
private
void rabbitescape.engine.textworld.LineProcessor.maybeLinkToLastComment ( String  key)
private
boolean rabbitescape.engine.textworld.LineProcessor.metaBool ( String  key,
boolean  def 
)
int rabbitescape.engine.textworld.LineProcessor.metaInt ( String  key,
int  def 
)
int [] rabbitescape.engine.textworld.LineProcessor.metaIntArray ( String  key,
int[]  def 
)
String rabbitescape.engine.textworld.LineProcessor.metaString ( String  key,
String  def 
)
String [] rabbitescape.engine.textworld.LineProcessor.metaStringArrayByKey ( String  key,
String[]  def 
)
static KeyListKey rabbitescape.engine.textworld.LineProcessor.parseKeyListKey ( String  key)
static
void rabbitescape.engine.textworld.LineProcessor.process ( VariantGenerator  variantGen)
private
Thing rabbitescape.engine.textworld.LineProcessor.processChar ( char  c,
int  x,
int  y,
VariantGenerator  variantGen 
)
void rabbitescape.engine.textworld.LineProcessor.processCommentLine ( String  line)
private
void rabbitescape.engine.textworld.LineProcessor.processItemsLine ( String  line,
VariantGenerator  variantGen 
)
private
void rabbitescape.engine.textworld.LineProcessor.processMetaLine ( String  line,
VariantGenerator  variantGen 
)
private
Dimension rabbitescape.engine.textworld.LineProcessor.size ( )
static int rabbitescape.engine.textworld.LineProcessor.stringHash ( String  s)
static

Not a fancy hash, but the same string will always yield the same number. Note that Object.hashCode results may vary each time the JVM is started.

static String rabbitescape.engine.textworld.LineProcessor.stripCodeSuffix ( String  key)
static

Strips the code suffix, if it is present, or returns the key unchanged.

boolean rabbitescape.engine.textworld.LineProcessor.toBool ( String  value)
private
int rabbitescape.engine.textworld.LineProcessor.toInt ( String  value)
private
ArrayList<Integer> rabbitescape.engine.textworld.LineProcessor.toIntArray ( String  value)
private

Member Data Documentation

final Map<Token.Type, Integer> rabbitescape.engine.textworld.LineProcessor.abilities
private
final List<Block> rabbitescape.engine.textworld.LineProcessor.blocks
private
final String rabbitescape.engine.textworld.LineProcessor.CODE_SUFFIX = ".code"
static
final List<Comment> rabbitescape.engine.textworld.LineProcessor.comments
private
int rabbitescape.engine.textworld.LineProcessor.currentStarPoint
private
int rabbitescape.engine.textworld.LineProcessor.height
private
final Pattern rabbitescape.engine.textworld.LineProcessor.keyListKeyRegex
staticpackage
Initial value:
= Pattern.compile(
"(.*)\\.(\\d{1,3})" )
int rabbitescape.engine.textworld.LineProcessor.lineNum
final String [] rabbitescape.engine.textworld.LineProcessor.lines
final Map<String, Boolean> rabbitescape.engine.textworld.LineProcessor.m_metaBools
private
final Map<String, ArrayList<Integer> > rabbitescape.engine.textworld.LineProcessor.m_metaIntArrays
private
final Map<String, Integer> rabbitescape.engine.textworld.LineProcessor.m_metaInts
private
final Map<String, Map<Integer, String> > rabbitescape.engine.textworld.LineProcessor.m_metaStringArraysByKey
private
final Map<String, String> rabbitescape.engine.textworld.LineProcessor.m_metaStrings
private
final List<Rabbit> rabbitescape.engine.textworld.LineProcessor.rabbits
private
final List<Position> rabbitescape.engine.textworld.LineProcessor.starPoints
private
final List<Thing> rabbitescape.engine.textworld.LineProcessor.things
private
final Map<Position, Integer> rabbitescape.engine.textworld.LineProcessor.waterAmounts
private
int rabbitescape.engine.textworld.LineProcessor.width
private

The documentation for this class was generated from the following file: