private void OnWorldInfo(JsonData worldInfo) { Debug.Log("OnWorldInfo " + worldInfo.ToJson()); Debug.Log(worldInfo["ts"].ToString()); float ts = float.Parse(worldInfo["ts"].ToString()); Debug.LogFormat("{0:F} {1:F}", ts, context.server_start_ts); worldInfo = worldInfo["world_info"]; int count = worldInfo.Count; for (int i = 0; i < count; i++) { int id = int.Parse(worldInfo[i]["id"].ToString()); if (ship_id_to_ctrl.ContainsKey(id)) { JsonData tfm = worldInfo[i]["tfm"]; float x = float.Parse(tfm["x"].ToString()); float y = float.Parse(tfm["y"].ToString()); float angle = float.Parse(tfm["angle"].ToString()); ShipCtrl o = ship_id_to_ctrl[id]; o.SetWorldInfo(tfm, ts); //Util.SetTfm(o.transform, x, y, angle); } } }
private void OnPlayersReady(JsonData json) { JsonData players = json["players"]; int count = players.Count; for (int i = 0; i < count; i++) { JsonData player_info = players[i]; int player_id = int.Parse(player_info["id"].ToString()); int ship_id = int.Parse(player_info["ship_id"].ToString()); look_forward = bool.Parse(player_info["look_forward"].ToString()); JsonData tfm = player_info["tfm"]; float x = float.Parse(tfm["x"].ToString()); float y = float.Parse(tfm["y"].ToString()); float w = float.Parse(tfm["w"].ToString()); float h = float.Parse(tfm["h"].ToString()); float angle = float.Parse(tfm["angle"].ToString()); GameObject o = Instantiate(objPrefab); //o.transform.GetChild(0).localScale = new Vector3(w, 1, h); Util.SetTfm(o.transform, x, y, angle); ShipCtrl shipCtrl = o.GetComponent <ShipCtrl>(); ship_id_to_ctrl.Add(ship_id, o.GetComponent <ShipCtrl>()); player_id_to_ship_id.Add(player_id, ship_id); shipCtrl.SetShipModal(look_forward ? 1 : 0); if (player_id == this.player_id) { this.ship_id = ship_id; this.shipCtrl = shipCtrl; camera_follow.look_forward = look_forward; camera_follow.follow_obj = shipCtrl.gameObject; } } /* * int objId = int.Parse(json["id"].ToString()); * Log("Create Object " + objId); * JsonData tfm = json["tfm"]; * float x = float.Parse(tfm[0].ToString()); * float y = float.Parse(tfm[1].ToString()); * float w = float.Parse(tfm[2].ToString()); * float h = float.Parse(tfm[3].ToString()); * float angle = float.Parse(tfm[4].ToString()); * GameObject o = Instantiate(objPrefab); * o.transform.GetChild(0).localScale = new Vector3(w, 1, h); * Util.SetTfm(o.transform, x, y, angle); * objectMap.Add(objId, o); */ }
private void OnStart(JsonData json) { ship_id = player_id_to_ship_id[player_id]; shipCtrl = ship_id_to_ctrl[ship_id]; audio_souce.loop = true; audio_souce.PlayDelayed(1); game_start = true; context.server_start_ts = float.Parse(json["ts"].ToString()); context.client_start_ts = Time.time; foreach (var e in ship_id_to_ctrl) { e.Value.Init(context); } /* * camera_follow.look_forward = look_forward; * camera_follow.follow_obj = shipCtrl.gameObject; */ Debug.Log("OnStart"); }