/* @ignore */ package com.netthreads.traffic.view.assets { import flash.utils.Dictionary; import com.netthreads.traffic.model.TrafficModelLocator; /** * @version $Revision: 1.1 $ */ public class TrafficAssetDictionary { /** * Texts */ public static var TXT_SEVERITY_UNKNOWN:String = "unknown"; public static var TXT_SEVERITY_VERYSLIGHT:String = "very slight"; public static var TXT_SEVERITY_SLIGHT:String = "slight"; public static var TXT_SEVERITY_MEDIUM:String = "medium"; public static var TXT_SEVERITY_SEVERE:String = "severe"; public static var TXT_SEVERITY_VERYSEVERE:String = "very severe"; public static var TXT_SEVERITY_UNSPECIFIED:String = "unspecified"; public static var TXT_UNKNOWN:String = 'unknown'; public static var TXT_ROADWORKS:String = "roadworks"; public static var TXT_ACCIDENTS:String = "accidents"; public static var TXT_VISIBILITY:String = "visibility"; public static var TXT_RESTRICTION:String = "restriction"; public static var TXT_CLOSED:String = "closed"; public static var TXT_UNDERGROUND_SERVICES_WORK:String = "underground services work"; [Bindable] public var model : TrafficModelLocator = TrafficModelLocator.getInstance(); private static var assetDict:Dictionary = null; private static var instance : TrafficAssetDictionary = null; /** * Returns the single instance of the dispatcher */ public static function getInstance() : TrafficAssetDictionary { if ( instance == null ) instance = new TrafficAssetDictionary(); return instance; } /** * Ctor */ public function TrafficAssetDictionary() { assetDict = new Dictionary(); init(); } /** * Fill assets dictionary */ private function init():void { assetDict[TXT_ROADWORKS] = new Dictionary(); assetDict[TXT_ROADWORKS][TXT_SEVERITY_VERYSEVERE] = model.assets.roadworkPanelSevere; assetDict[TXT_ROADWORKS][TXT_SEVERITY_SEVERE] = model.assets.roadworkPanelSevere; assetDict[TXT_ROADWORKS][TXT_SEVERITY_MEDIUM] = model.assets.roadworkPanelMedium; assetDict[TXT_ROADWORKS][TXT_SEVERITY_SLIGHT] = model.assets.roadworkPanelSlight; assetDict[TXT_ROADWORKS][TXT_SEVERITY_VERYSLIGHT] = model.assets.roadworkPanelSlight; assetDict[TXT_ROADWORKS][TXT_SEVERITY_UNKNOWN] = model.assets.roadworkPanelSlight; assetDict[TXT_ROADWORKS][TXT_SEVERITY_UNSPECIFIED] = model.assets.roadworkPanelSlight; assetDict[TXT_ACCIDENTS] = new Dictionary(); assetDict[TXT_ACCIDENTS][TXT_SEVERITY_VERYSEVERE] = model.assets.accidentPanelSevere; assetDict[TXT_ACCIDENTS][TXT_SEVERITY_SEVERE] = model.assets.accidentPanelSevere; assetDict[TXT_ACCIDENTS][TXT_SEVERITY_MEDIUM] = model.assets.accidentPanelMedium; assetDict[TXT_ACCIDENTS][TXT_SEVERITY_SLIGHT] = model.assets.accidentPanelSlight; assetDict[TXT_ACCIDENTS][TXT_SEVERITY_VERYSLIGHT] = model.assets.accidentPanelSlight; assetDict[TXT_ACCIDENTS][TXT_SEVERITY_UNKNOWN] = model.assets.accidentPanelSlight; assetDict[TXT_ACCIDENTS][TXT_SEVERITY_UNSPECIFIED] = model.assets.accidentPanelSlight; assetDict[TXT_VISIBILITY] = new Dictionary(); assetDict[TXT_VISIBILITY][TXT_SEVERITY_VERYSEVERE] = model.assets.visibilityPanelSevere; assetDict[TXT_VISIBILITY][TXT_SEVERITY_SEVERE] = model.assets.visibilityPanelSevere; assetDict[TXT_VISIBILITY][TXT_SEVERITY_MEDIUM] = model.assets.visibilityPanelMedium; assetDict[TXT_VISIBILITY][TXT_SEVERITY_SLIGHT] = model.assets.visibilityPanelSlight; assetDict[TXT_VISIBILITY][TXT_SEVERITY_VERYSLIGHT] = model.assets.visibilityPanelSlight; assetDict[TXT_VISIBILITY][TXT_SEVERITY_UNKNOWN] = model.assets.visibilityPanelSlight; assetDict[TXT_VISIBILITY][TXT_SEVERITY_UNSPECIFIED] = model.assets.visibilityPanelSlight; assetDict[TXT_RESTRICTION] = new Dictionary(); assetDict[TXT_RESTRICTION][TXT_SEVERITY_VERYSEVERE] = model.assets.restrictionPanelSevere; assetDict[TXT_RESTRICTION][TXT_SEVERITY_SEVERE] = model.assets.restrictionPanelSevere; assetDict[TXT_RESTRICTION][TXT_SEVERITY_MEDIUM] = model.assets.restrictionPanelMedium; assetDict[TXT_RESTRICTION][TXT_SEVERITY_SLIGHT] = model.assets.restrictionPanelSlight; assetDict[TXT_RESTRICTION][TXT_SEVERITY_VERYSLIGHT] = model.assets.restrictionPanelSlight; assetDict[TXT_RESTRICTION][TXT_SEVERITY_UNKNOWN] = model.assets.restrictionPanelSlight; assetDict[TXT_RESTRICTION][TXT_SEVERITY_UNSPECIFIED] = model.assets.restrictionPanelSlight; assetDict[TXT_CLOSED] = new Dictionary(); assetDict[TXT_CLOSED][TXT_SEVERITY_VERYSEVERE] = model.assets.restrictionPanelSevere; assetDict[TXT_CLOSED][TXT_SEVERITY_SEVERE] = model.assets.restrictionPanelSevere; assetDict[TXT_CLOSED][TXT_SEVERITY_MEDIUM] = model.assets.restrictionMedium; assetDict[TXT_CLOSED][TXT_SEVERITY_SLIGHT] = model.assets.restrictionPanelSlight; assetDict[TXT_CLOSED][TXT_SEVERITY_VERYSLIGHT] = model.assets.restrictionPanelSlight; assetDict[TXT_CLOSED][TXT_SEVERITY_UNKNOWN] = model.assets.restrictionPanelSlight; assetDict[TXT_CLOSED][TXT_SEVERITY_UNSPECIFIED] = model.assets.restrictionPanelSlight; assetDict[TXT_UNKNOWN] = new Dictionary(); assetDict[TXT_UNKNOWN][TXT_SEVERITY_VERYSEVERE] = model.assets.transportPanelSevere; assetDict[TXT_UNKNOWN][TXT_SEVERITY_SEVERE] = model.assets.transportPanelSevere; assetDict[TXT_UNKNOWN][TXT_SEVERITY_MEDIUM] = model.assets.transportPanelMedium; assetDict[TXT_UNKNOWN][TXT_SEVERITY_SLIGHT] = model.assets.transportPanelSlight; assetDict[TXT_UNKNOWN][TXT_SEVERITY_VERYSLIGHT] = model.assets.transportPanelSlight; assetDict[TXT_UNKNOWN][TXT_SEVERITY_UNKNOWN] = model.assets.transportPanelSlight; assetDict[TXT_UNKNOWN][TXT_SEVERITY_UNSPECIFIED] = model.assets.transportPanelSlight; } /** * Returns asset based on defined name, if severity or category don't match * a target item then a default it used. * */ public function lookup(category:String, severity:String):Class { var item:Class = null; try { item= assetDict[category][severity]; } catch (e:Error) { item = assetDict[TXT_UNKNOWN][TXT_SEVERITY_SLIGHT]; } return item; } } }