Exemplo n.º 1
0
    /// <summary>
    /// 添加同步帧
    /// 这里形参直接写两个三维向量,是为了模拟网络数据。实际中这里应该是解析出来的protobuf数据
    /// </summary>
    public void AddSyncFrame(Vector3 pos_, Quaternion dire_)
    {
        RoleSyncItemVo syncItem = new RoleSyncItemVo
        {
            objPos  = pos_,
            objDire = dire_,
        };

        roleSyncQueue.Enqueue(syncItem);
    }
Exemplo n.º 2
0
    /// <summary>
    /// 好的一次同步帧
    /// </summary>
    /// <returns></returns>
    public RoleSyncItemVo GetSyncFrame()
    {
        RoleSyncItemVo frameItem = null;

        if (roleSyncQueue.Count > 0)
        {
            frameItem = roleSyncQueue.Dequeue();
        }
        return(frameItem);
    }
Exemplo n.º 3
0
    /// <summary>
    /// 刷新角色
    /// </summary>
    private void OnRreshRole()
    {
        RoleSyncItemVo syncItem = GameVoManage.roleSyncData.GetSyncFrame();

        if (syncItem != null)
        {
            roleObj2.transform.position = syncItem.objPos;
            roleObj2.transform.rotation = syncItem.objDire;
            //Vector3 eulerAngles = Quaternion.FromToRotation(roleObj.transform.forward, syncItem.objDire).eulerAngles;
            //roleObj.transform.eulerAngles = eulerAngles;
        }
    }