/// <summary> /// 发送消息 /// </summary> /// <param name="cproto"></param> /// <param name="msg"></param> private void Send(int cproto, string msg) { MessageBuffer msgBuf = new MessageBuffer(); msgBuf.WriteInt(cproto); msgBuf.WriteString(msg); if (client.Connected) { client.Send(msgBuf); } }
/// <summary> /// 发送关键帧 /// </summary> public void SycKey() { string keyStr = string.Join(";", keyPack.ToArray()); MessageBuffer msgBuf = new MessageBuffer(); msgBuf.WriteInt(cProto.SYNC_KEY); msgBuf.WriteInt(SceneManager.instance.viewMap.LogicMap.curFrameCount); msgBuf.WriteString(keyStr); Send(msgBuf); ClearKeyPack(); }
/// <summary> /// 同步自己的位置 /// </summary> public void SycMePos() { Vector3 pos = SceneManager.instance.viewMap.CurViewObj.Pos; Vector3 angle = SceneManager.instance.viewMap.CurViewObj.EulerAngles; MessageBuffer msgBuf = new MessageBuffer(); msgBuf.WriteInt(cProto.SYNC_POS); msgBuf.WriteInt(SceneManager.instance.viewMap.CurViewObj.Id); string cPos = string.Format("{0}#{1}#{2}#{3}#{4}#{5}", pos.x, pos.y, pos.z, angle.x, angle.y, angle.z); msgBuf.WriteString(cPos); Send(msgBuf); }
/// <summary> /// 客户端准备 /// </summary> public void Ready() { MessageBuffer msgBuf = new MessageBuffer(); msgBuf.WriteInt(cProto.READY); msgBuf.WriteInt(SceneManager.instance.viewMap.LogicMap.curRoleId); Send(msgBuf); }