チェンジセット 55

差分発生行の前後
無視リスト:
コミット日時:
2007/09/03 14:02:14 (6 年前)
コミッタ:
Mk-10
ログメッセージ:

SimpleButton? にバグがあったので修正。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • Mk-10/as2/src/jp/cellfusion/button/SimpleButton.as

    r54 r55  
    2121        public var content:MovieClip; 
    2222        private var enabledMode:Boolean = true, actions:Object; 
    23         static public var ENABLE:String = "onEnable", DISABLE:String = "onDisable", ROLL_OVER:String = "onRollOver", ROLL_OUT:String = "onRollOut", PRESS:String = "onPress", RELEASE:String = "onRelease"; 
     23        static public var ENABLE:String = "enable", DISABLE:String = "disable", ROLL_OVER:String = "rollOver", ROLL_OUT:String = "rollOut", PRESS:String = "press", RELEASE:String = "release"; 
    2424        private var _rollOverLabel:String = "over", _rollOutLabel:String = "normal", _pressLabel:String = "down", _releaseLabel:String = "normal", _enabledLabel:String = "normal", _disableLabel:String = "disable"; 
    2525         
     
    109109        public function setAction(thisObj:Object, funcRef, args:Array, eventName:String):Void 
    110110        { 
    111                 if (eventName == null) eventName = RELEASE; 
     111                if (eventName == null || eventName == undefined) eventName = RELEASE; 
    112112                actions[eventName] = {thisObj:thisObj, funcRef:funcRef, args:args}; 
    113113        } 
     
    136136        private function action(str:String):Void 
    137137        { 
    138                 if (actions[str] != undefined
     138                if (actions[str] != undefined || actions[str] != null
    139139                { 
    140140                        var thisObj:Object = actions[str].thisObj; 
  • Mk-10/as2/src/jp/cellfusion/commands/CommandBase.as

    r54 r55  
    1616 
    1717import mx.events.EventDispatcher; 
    18  
    19 import jp.cellfusion.events.CommandEvent; 
    2018 
    2119/** 
     
    4543        private function getItemIndex(arr:Array, obj:Object):Number 
    4644        { 
    47                 for (var i=0; i<arr.length; i++) if (arr[i] == obj) return i;  
     45                for (var i=0; i<arr.length; i++) if (arr[i] === obj) return i;  
    4846                return - 1; 
    4947        } 
     
    5149        public function addEventListener(eventName:String, listener:Object):Void {} 
    5250        public function removeEventListener(eventName:String, listener:Object):Void {} 
    53         private function dispatchEvent(event:CommandEvent):Void {} 
     51        private function dispatchEvent(event:Object):Void {} 
    5452} 
  • Mk-10/as2/src/jp/cellfusion/commands/EnterFrameCommand.as

    r54 r55  
    1818 
    1919import jp.cellfusion.commands.CommandBase; 
    20 import jp.cellfusion.events.CommandEvent; 
    2120 
    2221/** 
  • Mk-10/as2/src/jp/cellfusion/commands/MacroCommand.as

    r54 r55  
    1515 */ 
    1616 
     17import mx.utils.Delegate; 
     18 
    1719import jp.cellfusion.commands.CommandBase; 
    1820 
    1921class jp.cellfusion.commands.MacroCommand extends CommandBase { 
    20         private var _commands:Array
     22        private var _commands:Array, _cPH:Function, _cCH:Function, _endCommand:Number
    2123         
    2224        /** 
     
    2527         */ 
    2628        public function MacroCommand(commands:Array) { 
     29                _cPH = Delegate.create(this, this._commandProgressHandler); 
     30                _cCH = Delegate.create(this, this._commandCompleteHandler); 
     31                 
    2732                _commands = new Array(); 
    28                 for (var i=0; i<commands.length; i++) { 
    29                         var c = commands[i].clone(); 
    30                         _commands.push(c); 
     33//              for (var i=0; i<commands.length; i++) { 
     34//                      var c = commands[i].clone(); 
     35//                      _commands.push(c); 
     36//              } 
     37                if (commands != undefined) 
     38                { 
     39                        for (var i:Number = 0; i < commands.length; i++) { 
     40                                var cmd:CommandBase = commands[i]; 
     41                                add(cmd); 
     42                        } 
    3143                } 
    3244        } 
     
    3850        public function add(cmd:CommandBase):Boolean 
    3951        { 
     52                if (cmd == null) return false; 
    4053                var idx:Number = getItemIndex(_commands, cmd); 
    4154                if (idx == -1) 
    4255                { 
    4356                        _commands.push(cmd); 
     57                        cmd.addEventListener(COMMAND_PROGRESS, _cPH); 
     58                        cmd.addEventListener(COMMAND_COMPLETE, _cCH); 
    4459                        return true; 
    4560                } 
     
    5772        public function remove(cmd:CommandBase):Boolean 
    5873        { 
     74                if (cmd == null) return false; 
    5975                var idx:Number = getItemIndex(_commands, cmd); 
    6076                if (idx != -1) 
    6177                { 
    6278                        _commands.splice(idx, 1); 
     79                        cmd.removeEventListener(COMMAND_PROGRESS, _cPH); 
     80                        cmd.removeEventListener(COMMAND_COMPLETE, _cCH); 
    6381                        return true; 
    6482                } 
     
    7492         */ 
    7593        public function execute():Boolean { 
     94                _endCommand = 0; 
    7695                for (var i=0; i<_commands.length; i++) { 
    7796                        var rslt:Object = _commands[i].execute(); 
    7897                         
    79                       dispatchEvent({type:COMMAND_PROGRESS, result:rslt}); 
     98//                    dispatchEvent({type:COMMAND_PROGRESS, result:rslt}); 
    8099                } 
    81100                 
    82               dispatchEvent({type:COMMAND_COMPLETE}); 
     101//            dispatchEvent({type:COMMAND_COMPLETE}); 
    83102                return true; 
    84103        } 
     
    91110        } 
    92111         
     112        private function _commandProgressHandler(eventObj:Object) { 
     113//              dispatchEvent({type:COMMAND_PROGRESS}); 
     114                dispatchEvent(eventObj); 
     115        } 
     116         
     117        private function _commandCompleteHandler(eventObj:Object) { 
     118//              trace("endCommand:"+_endCommand); 
     119                if (++_endCommand == _commands.length) 
     120                { 
     121                        dispatchEvent({type:COMMAND_COMPLETE}); 
     122                } 
     123        } 
     124         
    93125        function toString():String { 
    94126                return "[type MacroCommand]"; 
  • Mk-10/as2/src/jp/cellfusion/commands/SequenceCommand.as

    r54 r55  
    2424class jp.cellfusion.commands.SequenceCommand extends CommandBase { 
    2525         
    26         private var _commands:Array; 
    27         private var _currentIndex:Number; 
     26        private var _commands:Array, _currentIndex:Number, _cPH:Function, _cCH:Function; 
    2827         
    2928        /** 
     
    3231         */ 
    3332        public function SequenceCommand(commands:Array) { 
     33                _cPH = Delegate.create(this, this._commandProgressHandler); 
     34                _cCH = Delegate.create(this, this._commandCompleteHandler); 
     35                 
    3436                _commands = new Array(); 
    3537                _currentIndex = 0; 
     
    5355                { 
    5456                        _commands.push(cmd); 
    55                         cmd.addEventListener(COMMAND_PROGRESS, Delegate.create(this, this._commandProgressHandler)); 
    56                         cmd.addEventListener(COMMAND_COMPLETE, Delegate.create(this, this._commandCompleteHandler)); 
     57                        cmd.addEventListener(COMMAND_PROGRESS, _cPH); 
     58                        cmd.addEventListener(COMMAND_COMPLETE, _cCH); 
    5759                        return true; 
    5860                } 
     
    7375                { 
    7476                        _commands.splice(idx, 1); 
     77                        cmd.addEventListener(COMMAND_PROGRESS, _cPH); 
     78                        cmd.addEventListener(COMMAND_COMPLETE, _cCH); 
    7579                        return true; 
    7680                } 
     
    140144         
    141145        private function _executeNext() { 
     146//              trace("_executeNext currentIndex:"+_currentIndex); 
    142147                var command = _commands[_currentIndex++]; 
    143148                if (command) { 
     
    148153        } 
    149154         
    150         private function _commandProgressHandler(event:Object) { 
    151                 dispatchEvent({type:COMMAND_PROGRESS, current:_currentIndex, length:_commands.length}); 
     155        private function _commandProgressHandler(eventObj:Object) { 
     156//              dispatchEvent({type:COMMAND_PROGRESS, current:_currentIndex, length:_commands.length}); 
     157                 
     158                eventObj.current = _currentIndex; 
     159                eventObj.length = _commands.length; 
     160                dispatchEvent(eventObj); 
    152161        } 
    153162