Skip to content

Instantly share code, notes, and snippets.

@Stray
Created January 29, 2011 20:35
Show Gist options
  • Save Stray/802167 to your computer and use it in GitHub Desktop.
Save Stray/802167 to your computer and use it in GitHub Desktop.
New implementation gets rid of the conditionals
protected function selectedHandler(option:IBudgetGameOption, vo:BudgetGameOptionVO):void
{
enable(vo.enables);
disable(vo.disables);
dispatchUpdate(vo.cost, vo.productivity);
}
protected function enable(option:IDisableable):void
{
option.enable();
}
protected function disable(option:IDisableable):void
{
option.disable();
}
public interface IBudgetGameOption extends IDisableable
{
function select():void;
function deselect():void;
function get selectedSignal():Signal;
function get deselectedSignal():Signal;
}
public class NullDisableableOption implements IDisableable
{
public function NullDisableableOption()
{
super();
}
public function enable():void { }
public function disable():void { }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment