불안정하게 멀티 됨.. 일단은 두번째 플레이어가 첫번째 플레이어한테 보이기는 하니까...
This commit is contained in:
@@ -18,16 +18,31 @@ void Append(std::vector<char>& buffer, const T& value) {
|
||||
buffer.insert(buffer.end(), data, data + sizeof(T));
|
||||
}
|
||||
|
||||
void Append(std::vector<char>& buffer, const std::string& value) {
|
||||
size_t length = value.size();
|
||||
Append(buffer, length);
|
||||
buffer.insert(buffer.end(), value.begin(), value.end());
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void Read(const std::vector<char>& buffer, size_t& offset, T& out) {
|
||||
std::memcpy(&out, buffer.data() + offset, sizeof(T));
|
||||
offset += sizeof(T);
|
||||
}
|
||||
|
||||
void Read(const std::vector<char>& buffer, size_t& offset, std::string& out) {
|
||||
size_t length = 0;
|
||||
Read(buffer, offset, length);
|
||||
out.assign(buffer.data() + offset, length);
|
||||
offset += length;
|
||||
}
|
||||
|
||||
std::vector<char> Model::Serialize() {
|
||||
std::vector<char> buffer;
|
||||
|
||||
Append(buffer, ID);
|
||||
Append(buffer, name);
|
||||
Append(buffer, asset_name);
|
||||
|
||||
Append(buffer, position);
|
||||
Append(buffer, linear_velocity);
|
||||
@@ -54,6 +69,8 @@ void Model::Deserialize(std::vector<char> data) {
|
||||
size_t offset = 0;
|
||||
|
||||
Read(data, offset, ID);
|
||||
Read(data, offset, name);
|
||||
Read(data, offset, asset_name);
|
||||
|
||||
Read(data, offset, position);
|
||||
Read(data, offset, linear_velocity);
|
||||
|
||||
Reference in New Issue
Block a user