Move the area and tiger stateClass assignment to use EntityUI.setStateClass, and...
authorAndy Allan <gravitystorm@gmail.com>
Tue, 16 Nov 2010 16:07:21 +0000 (16:07 +0000)
committerAndy Allan <gravitystorm@gmail.com>
Tue, 16 Nov 2010 16:07:21 +0000 (16:07 +0000)
net/systemeD/halcyon/EntityUI.as
net/systemeD/halcyon/WayUI.as

index 11cb0a7..f1c6c7c 100644 (file)
@@ -168,6 +168,10 @@ package net.systemeD.halcyon {
                        if (changed) redraw();
         }
 
+        /**
+        * Sets a state class (eg :hover, :dupe) for this entityUI. If the state class has changed it will
+        * invalidate the style list to force the style to be recalculated during redraw.
+        */
         public function setStateClass(stateType:String, isOn:*):Boolean {
                        if ( isOn == true ) { isOn='yes'; }
             if ( isOn && stateClasses[stateType] != isOn ) {
@@ -182,6 +186,10 @@ package net.systemeD.halcyon {
                        return false;
         }
 
+        /**
+        * applies the state classes (eg :hover, :area) for this entityUI to the given list of 'real' tags.
+        * This then gives you a modified list of tags used for styling the entityUI.
+        */
                public function applyStateClasses(tags:Object):Object {
             for (var stateKey:String in stateClasses) {
                 tags[":"+stateKey] = 'yes';
index c4f853e..748a548 100644 (file)
@@ -192,9 +192,9 @@ package net.systemeD.halcyon {
 
             // Copy tags object, and add states
             var tags:Object = entity.getTagsCopy();
-                       tags=applyStateClasses(tags);
-                       if (Way(entity).isArea()) { tags[':area']='yes'; }
-            if (entity.isUneditedTiger() && Globals.vars.highlightTiger) { tags[':tiger']='yes'; }
+            setStateClass('area', Way(entity).isArea());
+            setStateClass('tiger', (entity.isUneditedTiger() && Globals.vars.highlightTiger));
+            tags=applyStateClasses(tags);
 
                        // Keep track of maximum stroke width for hitzone
                        var maxwidth:Number=4;