001    package rendering;
002    
003    import java.util.HashMap;
004    import java.util.Map;
005    
006    import components.GameObjectClassification;
007    
008    
009    /**
010     * Textures is an immutable class that stores mappings of gizmo type and image locations
011     */
012    
013    public class Textures {
014            private static Map<GameObjectClassification, String> defaultTex;
015            private static Map<GameObjectClassification, String> naturalTex;
016            private static Map<GameObjectClassification, String> cuteTex;
017            
018            private static String dir = "skins";
019            
020            public static Map<GameObjectClassification, String> getDefaultTex() {
021                    if (defaultTex == null) {
022                            defaultTex = new HashMap<GameObjectClassification, String>();
023                            defaultTex.put(GameObjectClassification.BALL, dir + "/red.jpg");
024                            defaultTex.put(GameObjectClassification.SQUAREBUMPER, dir + "/blue.jpg");
025                            defaultTex.put(GameObjectClassification.CIRCLEBUMPER, dir + "/green.jpg");
026                            defaultTex.put(GameObjectClassification.TRIANGLEBUMPER, dir + "/yellow.jpg");
027                            defaultTex.put(GameObjectClassification.LEFTFLIPPER, dir + "/red.jpg");
028                            defaultTex.put(GameObjectClassification.RIGHTFLIPPER, dir + "/orange.jpg");
029                            defaultTex.put(GameObjectClassification.ABSORBER, dir + "/green.jpg");
030                            defaultTex.put(GameObjectClassification.SELECTED, dir + "/selected.jpg");
031                    }
032                    return defaultTex;
033            }
034            
035            public static Map<GameObjectClassification, String> getNaturalTex() {
036                    if (naturalTex == null) {
037                            naturalTex = new HashMap<GameObjectClassification, String>();
038                            naturalTex.put(GameObjectClassification.BALL, dir + "/red.jpg");
039                            naturalTex.put(GameObjectClassification.SQUAREBUMPER, dir + "/grass.jpg");
040                            naturalTex.put(GameObjectClassification.CIRCLEBUMPER, dir + "/grass.jpg");
041                            naturalTex.put(GameObjectClassification.TRIANGLEBUMPER, dir + "/grass.jpg");
042                            naturalTex.put(GameObjectClassification.LEFTFLIPPER, dir + "/wood.jpg");
043                            naturalTex.put(GameObjectClassification.RIGHTFLIPPER, dir + "/wood.jpg");
044                            naturalTex.put(GameObjectClassification.ABSORBER, dir + "/wood.jpg");
045                            naturalTex.put(GameObjectClassification.SELECTED, dir + "/selected.jpg");
046                    }
047                    return naturalTex;
048            }
049            
050            public static Map<GameObjectClassification, String> getCuteTex() {
051                    if (cuteTex == null) {
052                            cuteTex = new HashMap<GameObjectClassification, String>();
053                            cuteTex.put(GameObjectClassification.BALL, dir + "/pinkstars.jpg");
054                            cuteTex.put(GameObjectClassification.SQUAREBUMPER, dir + "/greendots.jpg");
055                            cuteTex.put(GameObjectClassification.CIRCLEBUMPER, dir + "/greendots.jpg");
056                            cuteTex.put(GameObjectClassification.TRIANGLEBUMPER, dir + "/orangestars.jpg");
057                            cuteTex.put(GameObjectClassification.LEFTFLIPPER, dir + "/mintleaves.jpg");
058                            cuteTex.put(GameObjectClassification.RIGHTFLIPPER, dir + "/mintleaves.jpg");
059                            cuteTex.put(GameObjectClassification.ABSORBER, dir + "/bluespeckles.jpg");
060                            cuteTex.put(GameObjectClassification.SELECTED, dir + "/selected.jpg");
061                    }
062                    return cuteTex;
063            }
064    }