private void SendFrame() { // 打包帧包 var frame = new FramePackage { Seq = m_NextSeq, }; m_NextSeq++; foreach (var cmd in m_Commands) { frame.Data.Add(new FramePackage.Types.Command { PlayerId = cmd.playerId, CommandId = cmd.cmdId, Parameter = cmd.parm, }); } // 广播帧包 foreach (var pair in m_Players) { var player = pair.Value; if (!player.isQuit) { ServerNetManager.Send(player.cfd, (Int16)ProtocType.FramePackage, frame); } } // 清空缓存的命令 m_Commands.Clear(); }
private void UpdateFrame(FramePackage framePackage) { seq = framePackage.Seq; var cmds = framePackage.Data; foreach (var cmd in cmds) { if (m_CmdListeners.ContainsKey((GameConst.CommandType)cmd.CommandId)) { var listener = m_CmdListeners[(GameConst.CommandType)cmd.CommandId]; listener.Invoke(cmd.PlayerId, cmd.Parameter); } } if (onLogicUpdate != null) { onLogicUpdate.Invoke(framePackage.Seq); } }
public IEnumerator ExportFrame() { yield return(frameEnd); tex.Resize(arCamTexture.width, arCamTexture.height); tex.ReadPixels(new Rect(0, 0, arCamTexture.width, arCamTexture.height), 0, 0); tex.Apply(); TextureScale.Bilinear(tex, tex.width / 2, tex.height / 2); byte[] frameBytes = tex.EncodeToJPG(); //Debug to write texture into PNG //File.WriteAllBytes(Application.dataPath + System.String.Format( "/../SavedScreen{0}.jpg", frames), frameBytes); FramePackage dataToStream = new FramePackage(System.DateTime.UtcNow, frames, frameBytes); string JSONdataToStream = dataToStream.serialize(); Debug.Log("Sending image to Kinesis"); _C.PutRecord(JSONdataToStream, "FrameStream", (response) => {}); }