jfreerails.client.top
Class RenderersRootImpl

java.lang.Object
  extended by jfreerails.client.top.RenderersRootImpl
All Implemented Interfaces:
RenderersRoot, TileRendererList

public class RenderersRootImpl
extends java.lang.Object
implements RenderersRoot

Implementation of RenderersRoot whose constructor loads graphics and provides feed back using a FreerailsProgressMonitor.

Author:
Luke

Field Summary
private  java.util.ArrayList<TrainImages> engineImages
           
private  ImageManager imageManager
           
private static java.util.logging.Logger logger
           
private  TileRendererList tiles
           
private  TrackPieceRendererList trackPieceViewList
           
private  java.util.ArrayList<TrainImages> wagonImages
           
 
Constructor Summary
RenderersRootImpl(ReadOnlyWorld w, FreerailsProgressMonitor pm)
           
 
Method Summary
 TrainImages getEngineImages(int type)
           
 java.awt.Image getImage(java.lang.String relativeFilename)
           
 ImageManager getImageManager()
           
 java.awt.Image getScaledImage(java.lang.String relativeFilename, int height)
           
 TileRendererList getTileViewList()
           
 TileRenderer getTileViewWithNumber(int i)
           
 TrackPieceRenderer getTrackPieceView(int i)
           
 TrackPieceRendererList getTrackPieceViewList()
           
 TrainImages getWagonImages(int type)
           
private  TileRendererList loadNewTileViewList(ReadOnlyWorld w, FreerailsProgressMonitor pm)
           
private  TrackPieceRendererList loadTrackViews(ReadOnlyWorld w, FreerailsProgressMonitor pm)
           
private  void loadTrainImages(ReadOnlyWorld w, FreerailsProgressMonitor pm)
           
private  void preloadSounds(FreerailsProgressMonitor pm)
           
 boolean validate(ReadOnlyWorld w)
          Checks whether this tile view list has tile views for all the terrain types in the specifed list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final java.util.logging.Logger logger

tiles

private final TileRendererList tiles

trackPieceViewList

private final TrackPieceRendererList trackPieceViewList

imageManager

private final ImageManager imageManager

wagonImages

private final java.util.ArrayList<TrainImages> wagonImages

engineImages

private final java.util.ArrayList<TrainImages> engineImages
Constructor Detail

RenderersRootImpl

public RenderersRootImpl(ReadOnlyWorld w,
                         FreerailsProgressMonitor pm)
                  throws java.io.IOException
Throws:
java.io.IOException
Method Detail

loadTrainImages

private void loadTrainImages(ReadOnlyWorld w,
                             FreerailsProgressMonitor pm)
                      throws java.io.IOException
Throws:
java.io.IOException

preloadSounds

private void preloadSounds(FreerailsProgressMonitor pm)

loadTrackViews

private TrackPieceRendererList loadTrackViews(ReadOnlyWorld w,
                                              FreerailsProgressMonitor pm)
                                       throws java.io.IOException
Throws:
java.io.IOException

loadNewTileViewList

private TileRendererList loadNewTileViewList(ReadOnlyWorld w,
                                             FreerailsProgressMonitor pm)
                                      throws java.io.IOException
Throws:
java.io.IOException

getTileViewList

public TileRendererList getTileViewList()

getTrackPieceViewList

public TrackPieceRendererList getTrackPieceViewList()

validate

public boolean validate(ReadOnlyWorld w)
Description copied from interface: TileRendererList
Checks whether this tile view list has tile views for all the terrain types in the specifed list.

Specified by:
validate in interface RenderersRoot
Specified by:
validate in interface TileRendererList

getImageManager

public ImageManager getImageManager()

getImage

public java.awt.Image getImage(java.lang.String relativeFilename)
                        throws java.io.IOException
Specified by:
getImage in interface RenderersRoot
Throws:
java.io.IOException

getTileViewWithNumber

public TileRenderer getTileViewWithNumber(int i)
Specified by:
getTileViewWithNumber in interface TileRendererList

getTrackPieceView

public TrackPieceRenderer getTrackPieceView(int i)
Specified by:
getTrackPieceView in interface RenderersRoot

getWagonImages

public TrainImages getWagonImages(int type)
Specified by:
getWagonImages in interface RenderersRoot

getEngineImages

public TrainImages getEngineImages(int type)
Specified by:
getEngineImages in interface RenderersRoot

getScaledImage

public java.awt.Image getScaledImage(java.lang.String relativeFilename,
                                     int height)
                              throws java.io.IOException
Specified by:
getScaledImage in interface RenderersRoot
Throws:
java.io.IOException