Files
hk4e/protocol/proto_hk4e/server_only/SVOProto.proto
2023-05-22 00:39:02 +08:00

60 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
package ToTheMoonProto;
option go_package = "./;proto";
message Pos {
float x = 1;
float y = 2;
float z = 3;
}
message SVONodeProto {
int32 area = 1;
int64 mortonIndex = 2;
int64 parent = 3;
int64 children = 4;
int32 childNum = 5;
repeated int64 neighbors = 6;
repeated int32 neighborsLevel = 7;
repeated int64 planarNeighbors = 8;
repeated int32 planarNeighborsLevel = 9;
repeated int64 diagonalNeighbors = 10;
repeated int32 diagonalNeighborsLevel = 11;
}
message SVOLayerProto {
int32 level = 1;
repeated SVONodeProto nodeData = 2;
}
message SVOStructureProto {
Pos basePos = 1;
repeated SVOLayerProto layerData = 2;
repeated int32 totalIndex = 3;
}
message SVOBlockProto {
SVOStructureProto svo = 1;
int32 sceneId = 2;
repeated int32 blockIndex = 3;
}
message SVOWorldProto {
repeated SVOBlockProto blocks = 1;
float side_length = 2;
int32 sceneId = 3;
}
message SVONodeWrapperProto {
SVONodeProto svoNode = 1;
int32 level = 2;
}
message SVONodePathProto {
Pos start = 1;
Pos end = 2;
repeated SVONodeWrapperProto svoNodes = 3;
}