チェンジセット 1748
- コミット日時:
- 2008/07/23 06:02:24 (1 ヶ月前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
branches/Orbiter/src/jp/progression/Progression.as
r1744 r1748 38 38 */ 39 39 package jp.progression { 40 import com.asual.swfaddress.SWFAddress; 40 41 import flash.display.Stage; 41 42 import flash.errors.IllegalOperationError; … … 55 56 import jp.progression.core.namespaces.progression_internal; 56 57 import jp.progression.core.ui.CastObjectContextMenu; 58 import jp.progression.core.utils.SceneIdUtil; 57 59 import jp.progression.events.ProcessEvent; 58 60 import jp.progression.events.SceneEvent; … … 776 778 * <p>移動先を示すシーン識別子です。</p> 777 779 * <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 } 784 789 } 785 790 branches/Orbiter/src/jp/progression/core/managers/SyncManager.as
r1747 r1748 160 160 // イベントリスナーを登録する 161 161 SWFAddress.addEventListener( SWFAddressEvent.CHANGE, _change ); 162 _sceneManager.addExclusivelyEventListener( ProcessEvent.PROCESS_START, _processStart, false, int.MAX_VALUE, true );163 162 _sceneManager.addExclusivelyEventListener( ProcessEvent.PROCESS_COMPLETE, _processComplete, false, int.MAX_VALUE, true ); 164 163 } … … 169 168 // イベントリスナーを解除する 170 169 SWFAddress.removeEventListener( SWFAddressEvent.CHANGE, _change ); 171 _sceneManager.completelyRemoveEventListener( ProcessEvent.PROCESS_START, _processStart );172 170 _sceneManager.completelyRemoveEventListener( ProcessEvent.PROCESS_COMPLETE, _processComplete ); 173 171 } … … 185 183 private var _sceneManager:SceneManager; 186 184 187 /*======================================================================*//**188 *189 */190 private var _externallyCalled:Boolean = false;191 192 185 193 186 … … 247 240 248 241 /*======================================================================*//** 249 * シーン移動処理が開始された場合に送出されます。250 */251 private function _processStart( e:ProcessEvent ):void {252 // 内部呼出しとして処理する253 _externallyCalled = false;254 }255 256 /*======================================================================*//**257 242 * シーン移動処理が完了した場合に送出されます。 258 243 */ 259 244 private function _processComplete( e:ProcessEvent ):void { 260 var sceneId:SceneId = _sceneManager.destinedSceneId;261 262 // 目的のシーンではなければ終了する263 if ( !sceneId.equals( _sceneManager.destinedSceneId ) ) { return; }264 265 245 // イベントリスナーを解除する 266 246 if ( _scene ) { … … 268 248 } 269 249 270 // 内部からの呼び出しであれば更新する271 if ( !_externallyCalled ) {272 SWFAddress.setValue( SceneIdUtil.toShortPath( sceneId ) );273 SWFAddress.setTitle( e.scene.title );274 }275 276 250 // 現在のシーンを設定する 277 251 _scene = e.scene; … … 287 261 */ 288 262 private function _change( e:SWFAddressEvent ):void { 289 // 外部呼出しとして処理する290 _externallyCalled = true;291 292 263 // SWFAddress の値を取得する 293 264 var value:String = SWFAddress.getValue();
