jfreerails.controller
Class BuildTrackStrategy

java.lang.Object
  extended by jfreerails.controller.BuildTrackStrategy

public class BuildTrackStrategy
extends java.lang.Object

A BuildTrackStrategy determines which track types to build (or upgrade to) on different terrains.

Author:
Luke

Field Summary
private  int[] rules
           
 
Constructor Summary
private BuildTrackStrategy(int[] r)
          Creates a new instance of BuildTrackStrategy
 
Method Summary
private static int[] generateRules(java.util.ArrayList<java.lang.Integer> allowable, ReadOnlyWorld w)
           
private static java.lang.Integer getCheapest(TrackRule.TrackCategories category, ReadOnlyWorld w)
           
static BuildTrackStrategy getDefault(ReadOnlyWorld w)
           
static BuildTrackStrategy getMultipleRuleInstance(java.util.ArrayList<java.lang.Integer> ruleIDs, ReadOnlyWorld w)
           
 int getRule(int terrainType)
           
static BuildTrackStrategy getSingleRuleInstance(int trackTypeID, ReadOnlyWorld w)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rules

private final int[] rules
Constructor Detail

BuildTrackStrategy

private BuildTrackStrategy(int[] r)
Creates a new instance of BuildTrackStrategy

Method Detail

getSingleRuleInstance

public static BuildTrackStrategy getSingleRuleInstance(int trackTypeID,
                                                       ReadOnlyWorld w)

getMultipleRuleInstance

public static BuildTrackStrategy getMultipleRuleInstance(java.util.ArrayList<java.lang.Integer> ruleIDs,
                                                         ReadOnlyWorld w)

getDefault

public static BuildTrackStrategy getDefault(ReadOnlyWorld w)

getCheapest

private static java.lang.Integer getCheapest(TrackRule.TrackCategories category,
                                             ReadOnlyWorld w)

generateRules

private static int[] generateRules(java.util.ArrayList<java.lang.Integer> allowable,
                                   ReadOnlyWorld w)

getRule

public int getRule(int terrainType)