Beispiel #1
0
    /// <summary>
    /// 获取世界中的其他玩家的信息
    /// </summary>
    /// <param name="token"></param>
    /// <param name="model"></param>
    private void OnSceneChar(UserToken token, SocketModel model)
    {
        RespSceneCharacters resp = new RespSceneCharacters();

        //foreach(Player p in Scene.instance.players.Values)
        //{
        //    if (p.globalid == token.characterid) continue;
        //    resp.characters.Add(p.dto);
        //}

        NetworkManager.Send(token, (int)MsgID.SCENE_Char_SRES, resp);
    }
    /// <summary>
    /// 获取场景中的其他玩家信息的应答
    /// </summary>
    /// <param name="model"></param>
    private void OnSceneChar(SocketModel model)
    {
        if (model.message == null)
        {
            return;
        }
        RespSceneCharacters resp = SerializeUtil.Deserialize <RespSceneCharacters>(model.message);

        for (int i = 0; i < resp.characters.Count; i++)
        {
            CharacterDTO dto = resp.characters[i];
            RoleCfg      cfg = ConfigManager.instance.GetRoleCfg(dto.cfgid);
            Vector3      pos = new Vector3(dto.pos_x, dto.pos_y, dto.pos_z);
            //CharacterManager.instance.Create(dto.id, cfg, pos, typeof(OtherPlayer));
            Battle.instance.Create <Player>(dto);
        }
    }