Exemple #1
0
        /// <summary>
        /// Finishes the render packet and sends it if its different from the last packet.
        /// </summary>
        public void FinishAndSendIfDifferent()
        {
            var packet = DoFinishPacket();

            if (!packet.Equals(_previousPacket))
            {
                SendPacket(packet);
                _previousPacket = packet;
            }
        }
Exemple #2
0
        /// <summary>
        /// If this renderer has previously drawn anything on the screen, it will be erased.
        /// This can be called at any time. It will not interrupt any packet construction
        /// that may be in progress.
        /// </summary>
        public void EraseFromScreen()
        {
            var eraseBuilder = new FlatBufferBuilder(10);
            var vectorOffset = RenderGroup.CreateRenderMessagesVector(eraseBuilder, new Offset <RenderMessage> [0]);

            RenderGroup.StartRenderGroup(eraseBuilder);
            RenderGroup.AddRenderMessages(eraseBuilder, vectorOffset);
            RenderGroup.AddId(eraseBuilder, _index);
            eraseBuilder.Finish(RenderGroup.EndRenderGroup(eraseBuilder).Value);

            RenderPacket emptyPacket = new RenderPacket(eraseBuilder.SizedByteArray());

            SendPacket(emptyPacket);
        }
Exemple #3
0
        /// <summary>
        /// Determines the equality of the RenderPacket and the other object.
        /// </summary>
        /// <param name="obj">The object to test equality with.</param>
        /// <returns>Returns true if the objects are equal, false otherwise.</returns>
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }
            RenderPacket that = (RenderPacket)obj;

            return(Bytes.SequenceEqual(that.Bytes));
        }
Exemple #4
0
 /// <summary>
 /// Sends the render packet to the RLBot interface.
 /// </summary>
 /// <param name="packet">The packet to send.</param>
 protected void SendPacket(RenderPacket packet)
 {
     RLBotInterface.RenderPacket(packet);
 }