Ejemplo n.º 1
0
    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);
            }
        }
    }
Ejemplo n.º 2
0
    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);
         */
    }
Ejemplo n.º 3
0
    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");
    }