package; class ClientTools { public static function setLeader(clients:Array, name:String):Void { for (client in clients) { if (client.name == name) client.isLeader = true; else if (client.isLeader) client.isLeader = false; } } public static function hasLeader(clients:Array):Bool { return getLeader(clients) != null; } public static function getLeader(clients:Array):Null { for (client in clients) { if (client.isLeader) return client; } return null; } public static function getByName( clients:Array, name:String, ?def:Client ):Null { for (client in clients) { if (client.name == name) return client; } return def; } }