package { import com.voidelement.flagment.*; public class FlagmentTest() { public function FlagmentTest() { var hoge:Function = function():void { trace("hoge"); Flagment.unbindAnd("a_and_b_and_c10"); } Flagment.register("a", false ); Flagment.register("b", true ); Flagment.register("c", 0 ); Flagment.bind("a", true, aTrue ); Flagment.bind("b", false, bFalse ); Flagment.bind("c", 10, c10, true ); Flagment.bindAnd("a_and_b_and_c10", { a:true, b:false, c:10 }, hoge ); Flagment.update("a", true ); // aTrue が呼ばれます Flagment.update("b", false ); // bFalse が呼ばれます Flagment.update("c", 10 ); // c10 が呼ばれます & hoge が呼ばれます Flagment.update("b", true ); Flagment.update("b", false ); // bFalse が呼ばれます Flagment.update("c", 5 ); Flagment.update("c", 10 ); // isOnce で設定されていたため c10 は呼ばれません Flagment.unbind("a", true, aTrue ); Flagment.unbind("b", false, bFalse ); } private function aTrue():void { trace("a: true"); } private function bFalse():void { trace("b: false"); } private function c10():void { trace("c: 10"); } } }