チェンジセット 1748

差分発生行の前後
無視リスト:
コミット日時:
2008/07/23 06:02:24 (1 ヶ月前)
コミッタ:
niumjp
ログメッセージ:

ちょっと直せそうな気配が・・・

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • branches/Orbiter/src/jp/progression/Progression.as

    r1744 r1748  
    3838 */ 
    3939package jp.progression { 
     40        import com.asual.swfaddress.SWFAddress; 
    4041        import flash.display.Stage; 
    4142        import flash.errors.IllegalOperationError; 
     
    5556        import jp.progression.core.namespaces.progression_internal; 
    5657        import jp.progression.core.ui.CastObjectContextMenu; 
     58        import jp.progression.core.utils.SceneIdUtil; 
    5759        import jp.progression.events.ProcessEvent; 
    5860        import jp.progression.events.SceneEvent; 
     
    776778                 *      <p>移動先を示すシーン識別子です。</p> 
    777779                 *      <p></p> 
    778                  * @param extra 
    779                  *      <p>実行時に渡したい任意のリレーオブジェクトです。</p> 
    780                  *      <p></p> 
    781                  */ 
    782                 public function goto( sceneId:SceneId, extra:Object = null ):void { 
    783                         _sceneManager.goto( sceneId, extra ); 
     780                 */ 
     781                public function goto( sceneId:SceneId ):void { 
     782                        // 同期が有効化されていれば 
     783                        if ( _syncManager.sync ) { 
     784                                SWFAddress.setValue( SceneIdUtil.toShortPath( sceneId ) ); 
     785                        } 
     786                        else { 
     787                                _sceneManager.goto( sceneId ); 
     788                        } 
    784789                } 
    785790                 
  • branches/Orbiter/src/jp/progression/core/managers/SyncManager.as

    r1747 r1748  
    160160                                // イベントリスナーを登録する 
    161161                                SWFAddress.addEventListener( SWFAddressEvent.CHANGE, _change ); 
    162                                 _sceneManager.addExclusivelyEventListener( ProcessEvent.PROCESS_START, _processStart, false, int.MAX_VALUE, true ); 
    163162                                _sceneManager.addExclusivelyEventListener( ProcessEvent.PROCESS_COMPLETE, _processComplete, false, int.MAX_VALUE, true ); 
    164163                        } 
     
    169168                                // イベントリスナーを解除する 
    170169                                SWFAddress.removeEventListener( SWFAddressEvent.CHANGE, _change ); 
    171                                 _sceneManager.completelyRemoveEventListener( ProcessEvent.PROCESS_START, _processStart ); 
    172170                                _sceneManager.completelyRemoveEventListener( ProcessEvent.PROCESS_COMPLETE, _processComplete ); 
    173171                        } 
     
    185183                private var _sceneManager:SceneManager; 
    186184                 
    187                 /*======================================================================*//** 
    188                  *  
    189                  */ 
    190                 private var _externallyCalled:Boolean = false; 
    191                  
    192185                 
    193186                 
     
    247240                 
    248241                /*======================================================================*//** 
    249                  * シーン移動処理が開始された場合に送出されます。 
    250                  */ 
    251                 private function _processStart( e:ProcessEvent ):void { 
    252                         // 内部呼出しとして処理する 
    253                         _externallyCalled = false; 
    254                 } 
    255                  
    256                 /*======================================================================*//** 
    257242                 * シーン移動処理が完了した場合に送出されます。 
    258243                 */ 
    259244                private function _processComplete( e:ProcessEvent ):void { 
    260                         var sceneId:SceneId = _sceneManager.destinedSceneId; 
    261                          
    262                         // 目的のシーンではなければ終了する 
    263                         if ( !sceneId.equals( _sceneManager.destinedSceneId ) ) { return; } 
    264                          
    265245                        // イベントリスナーを解除する 
    266246                        if ( _scene ) { 
     
    268248                        } 
    269249                         
    270                         // 内部からの呼び出しであれば更新する 
    271                         if ( !_externallyCalled ) { 
    272                                 SWFAddress.setValue( SceneIdUtil.toShortPath( sceneId ) ); 
    273                                 SWFAddress.setTitle( e.scene.title ); 
    274                         } 
    275                          
    276250                        // 現在のシーンを設定する 
    277251                        _scene = e.scene; 
     
    287261                 */ 
    288262                private function _change( e:SWFAddressEvent ):void { 
    289                         // 外部呼出しとして処理する 
    290                         _externallyCalled = true; 
    291                          
    292263                        // SWFAddress の値を取得する 
    293264                        var value:String = SWFAddress.getValue();