templates/as3/org/rubyforge/dango/DangoClientFramework.as in dango_generator-0.4.3 vs templates/as3/org/rubyforge/dango/DangoClientFramework.as in dango_generator-0.4.5

- old
+ new

@@ -9,11 +9,10 @@ import flash.events.*; import flash.text.*; import flash.utils.*; import flash.system.*; import flash.display.*; - import mx.utils.ObjectUtil; import com.adobe.serialization.json.JSON; import flash.events.IEventDispatcher; import flash.events.EventDispatcher; @@ -74,11 +73,11 @@ * @param config:* * @return void */ public function DangoClientFramework(config:*){ trace("DangoClientFramework start..."); - trace("config=" + ObjectUtil.toString(config)); + trace("config=" + config); // 設定ファイルの読み込み if(config.hasOwnProperty("server_host")){ server_host = config.server_host; } if(config.hasOwnProperty("server_port")){ server_port = config.server_port; } if(config.hasOwnProperty("debug" )){ is_debug = config.debug; } @@ -363,11 +362,11 @@ } catch(err:Error){ // this.dispatchEvent(new DangoErrorEvent("DangoError", DangoErrorCode.IOError, "failed in DangoClientFramework:socket_read_push_cache:receive_cache_do_phase == 0")); // キャッシュに残っているデータを消して再度初めから受信できるようにする - trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==0:err=" + ObjectUtil.toString(err)); + trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==0:err=" + err); receive_cache_do_phase = 0; // 長さから取得する receive_cache_byta = new ByteArray; // キャッシュを空にする break; } @@ -414,11 +413,11 @@ } catch(err:Error){ // this.dispatchEvent(new DangoErrorEvent("DangoError", DangoErrorCode.IOError, "failed in DangoClientFramework:socket_read_push_cache:receive_cache_do_phase == 1")); // キャッシュに残っているデータを消して再度初めから受信できるようにする - trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==1:err=" + ObjectUtil.toString(err)); + trace("DangoClientFramework:socket_read_push_cache:receive_cache_do_phase==1:err=" + err); receive_cache_do_phase = 0; // 長さから取得する receive_cache_byta = new ByteArray; // キャッシュを空にする break; } } @@ -449,10 +448,11 @@ if(notice_name == "_notice_sid"){ // 接続直後のsid通知なら this.sid = recv_data["_sid"]; has_sid = true; if(is_debug){ trace("DangoClientFramework:this.sid=" + this.sid + " server_time=" + server_time); } + this.dispatchEvent(new DangoReceiveEvent("dango__connect", {}, count_no)); } else { // 通常のデータならイベント発生 if(is_debug){ trace("DangoClientFramework:dispatchEvent:dango_" + notice_name + " server_time=" + server_time); } this.dispatchEvent(new DangoReceiveEvent("dango__before_filter", recv_data, count_no)); this.dispatchEvent(new DangoReceiveEvent("dango_" + notice_name, recv_data, count_no)); @@ -530,11 +530,11 @@ if(is_debug){ trace("DangoClientFramework:send_action:start:action_name=" + action_name + ":delay=" + delay + ":is_connect=" + is_connect + ":has_sid=" + has_sid + ":" + DangoUtil.now2str()); } // if(!is_connect){ throw new DangoError("error:not connect"); } // 接続されていない場合はエラー // 送信データの作成 - var send_obj_dup:Object = ObjectUtil.copy(send_obj); + var send_obj_dup:Object = DangoUtil.deep_copy(send_obj); send_obj_dup["_action_name"] = action_name; send_obj_dup["_return_id"] = (new Date()).time; // delayフラグがあったり、接続がまだなら、遅延送信用のキャッシュにデータを入れる if(delay || !is_connect || (action_name != "_notice_heart_beat" && !has_sid)){ @@ -555,12 +555,10 @@ * * @param send_obj:Array * @return void */ public function send_data_to_server( send_obj:Array ):void { -// if(is_debug){ trace("DangoClientFramework:send_data_to_server:send_obj=" + ObjectUtil.toString(send_obj)); } - var encode_type:uint = default_encode_type; // データが空ならJSONencodeしない var send_obj_str:String; if(send_obj == null){ @@ -588,16 +586,38 @@ // if(is_debug){ trace("DangoClientFramework:send_obj_str:" + send_obj_str + ":" + DangoUtil.now2str()); } } /** - * dango_before_filter の雛形 + * dango__connect の雛形 * すべてのdango通知の前処理用のメソッド * オーバーライドして使うもの * * @param evt:DangoReceiveEvent * @return void + protected function dango__connect(evt:Object):void { + } */ - protected function dango__before_filter(evt:Object):void { + + /** + * dango__after_filter の雛形 + * すべてのdango通知の前処理用のメソッド + * オーバーライドして使うもの + * + * @param evt:DangoReceiveEvent + * @return void + protected function dango__after_filter(evt:Object):void { } + */ + + /** + * dango__after_filter の雛形 + * すべてのdango通知の前処理用のメソッド + * オーバーライドして使うもの + * + * @param evt:DangoReceiveEvent + * @return void + protected function dango__after_filter(evt:Object):void { + } + */ } }