Added rubocop config, more work on CyberarmEngine Netcode; basic sending and receiving of packets is now functional

This commit is contained in:
2020-11-30 15:41:20 -06:00
parent 85ec285263
commit ecbbc77ca7
15 changed files with 566 additions and 133 deletions

View File

@@ -0,0 +1,30 @@
module CyberarmEngine
module Networking
class RawPacket
attr_reader :message, :type
HEADER_PACKER = "C"
HEADER_LENGTH = 1 # bytes
def self.decode(raw_message)
header = raw_message.unpack(HEADER_PACKER)
message = raw_message[HEADER_LENGTH..raw_message.length - 1]
RawPacket.new(type: header[0], message: message)
end
def initialize(message:, type: Protocol::PACKET_RAW)
@type = type
@message = message
end
def encode
header = [
@type
].pack(HEADER_PACKER)
"#{header}#{@message}"
end
end
end
end