This commit is contained in:
aozhiwei 2022-11-29 10:29:33 +08:00
parent 2c6b2bd4a1
commit a9c166cb32
5 changed files with 92 additions and 44 deletions

View File

@ -142,6 +142,12 @@ void MapInstance::Init()
fclose(fp); fclose(fp);
} }
} }
#if 1
{
dtTileRef tile_ref = navmesh_->getTileRefAt(10, 10, 0);
int i = 0;
}
#endif
} }
void MapInstance::UnInit() void MapInstance::UnInit()

View File

@ -8,6 +8,7 @@
#include <a8/a8.h> #include <a8/a8.h>
#include <a8/udplog.h> #include <a8/udplog.h>
#include <a8/vec2.h> #include <a8/vec2.h>
#include <a8/vec3.h>
typedef std::function<void(const std::vector<std::any>&)> CommonCbProc; typedef std::function<void(const std::vector<std::any>&)> CommonCbProc;

View File

@ -12,12 +12,39 @@ namespace TypeConvert
pb_obj->set_y(v.y); pb_obj->set_y(v.y);
} }
void ToPb(const a8::Vec2& v, cs::MFVec3* pb_obj)
{
pb_obj->set_x(v.x);
pb_obj->set_y(v.y);
pb_obj->set_z(0.0f);
}
void FromPb(a8::Vec2& v, const cs::MFVec2* pb_obj) void FromPb(a8::Vec2& v, const cs::MFVec2* pb_obj)
{ {
v.x = pb_obj->x(); v.x = pb_obj->x();
v.y = pb_obj->y(); v.y = pb_obj->y();
} }
void FromPb(a8::Vec2& v, const cs::MFVec3* pb_obj)
{
v.x = pb_obj->x();
v.y = pb_obj->y();
}
void ToPb(const a8::Vec3& v, cs::MFVec3* pb_obj)
{
pb_obj->set_x(v.x);
pb_obj->set_y(v.y);
pb_obj->set_z(v.z);
}
void FromPb(a8::Vec3& v, const cs::MFVec3* pb_obj)
{
v.x = pb_obj->x();
v.y = pb_obj->y();
v.z = pb_obj->z();
}
void ToPb(const OverReward& v, cs::MFOverReward* pb_obj) void ToPb(const OverReward& v, cs::MFOverReward* pb_obj)
{ {
pb_obj->mutable_hero()->set_id(v.hero.id); pb_obj->mutable_hero()->set_id(v.hero.id);

View File

@ -3,6 +3,7 @@
namespace cs namespace cs
{ {
class MFVec2; class MFVec2;
class MFVec3;
class MFOverReward; class MFOverReward;
} }
@ -11,7 +12,12 @@ struct OverReward;
namespace TypeConvert namespace TypeConvert
{ {
void ToPb(const a8::Vec2& v, cs::MFVec2* pb_obj); void ToPb(const a8::Vec2& v, cs::MFVec2* pb_obj);
void ToPb(const a8::Vec2& v, cs::MFVec3* pb_obj);
void FromPb(a8::Vec2& v, const cs::MFVec2* pb_obj); void FromPb(a8::Vec2& v, const cs::MFVec2* pb_obj);
void FromPb(a8::Vec2& v, const cs::MFVec3* pb_obj);
void ToPb(const a8::Vec3& v, cs::MFVec3* pb_obj);
void FromPb(a8::Vec3& v, const cs::MFVec3* pb_obj);
void ToPb(const OverReward& v, cs::MFOverReward* pb_obj); void ToPb(const OverReward& v, cs::MFOverReward* pb_obj);
} }

View File

@ -99,13 +99,21 @@ message MFTupleString
repeated string values = 1; //values repeated string values = 1; //values
} }
// //2d
message MFVec2 message MFVec2
{ {
optional float x = 1; //x轴 optional float x = 1; //x轴
optional float y = 2; //y轴 optional float y = 2; //y轴
} }
//3d
message MFVec3
{
optional float x = 1; //x轴
optional float y = 2; //y轴
optional float z = 3 [default = 0]; //z轴
}
// //
/* /*
property_type: 1 property_type: 1
@ -195,7 +203,7 @@ message MFCollider
message MFMapObject message MFMapObject
{ {
optional int32 object_id = 1; //id(mapThing表id) optional int32 object_id = 1; //id(mapThing表id)
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
} }
// //
@ -219,8 +227,8 @@ message MFSkin
message MFPlayerPart message MFPlayerPart
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
optional float speed = 4; // optional float speed = 4; //
} }
@ -244,15 +252,15 @@ message MFCharacterImage
message MFTeamMarkPos message MFTeamMarkPos
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
} }
//- //-
message MFPlayerFull message MFPlayerFull
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
optional int64 guild_id = 4; //id optional int64 guild_id = 4; //id
optional float max_health = 5; // optional float max_health = 5; //
@ -307,7 +315,7 @@ message MFPlayerFull
message MFObstaclePart message MFObstaclePart
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional float scale = 3; // optional float scale = 3; //
} }
@ -315,7 +323,7 @@ message MFObstaclePart
message MFObstacleFull message MFObstacleFull
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional float scale = 3; // optional float scale = 3; //
optional float rotate = 5; // optional float rotate = 5; //
// born_frameno == SMUpdate.frmanoe时表示在当前这帧出生(0) // born_frameno == SMUpdate.frmanoe时表示在当前这帧出生(0)
@ -345,14 +353,14 @@ message MFObstacleFull
message MFBuildingPart message MFBuildingPart
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
} }
//- //-
message MFBuildingFull message MFBuildingFull
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional int32 building_id = 3; //id optional int32 building_id = 3; //id
optional bool ceiling_dead = 6; optional bool ceiling_dead = 6;
@ -362,15 +370,15 @@ message MFBuildingFull
message MFLootPart message MFLootPart
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
} }
//loot- //loot-
message MFLootFull message MFLootFull
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 born_pos = 3; // optional MFVec3 born_pos = 3; //
optional bool show_anim = 4; // optional bool show_anim = 4; //
optional int32 item_id = 6; //id optional int32 item_id = 6; //id
@ -383,8 +391,8 @@ message MFLootFull
message MFHeroPart message MFHeroPart
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
} }
@ -392,8 +400,8 @@ message MFHeroPart
message MFHeroFull message MFHeroFull
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
optional int32 heroid = 4; //id optional int32 heroid = 4; //id
optional int32 master_uniid = 5; //id optional int32 master_uniid = 5; //id
optional float health = 10; // optional float health = 10; //
@ -406,16 +414,16 @@ message MFHeroFull
message MFCarPart message MFCarPart
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
} }
//- //-
message MFCarFull message MFCarFull
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
optional int32 car_id = 4; //id optional int32 car_id = 4; //id
optional int32 driver = 5; //id optional int32 driver = 5; //id
optional int32 heroid = 7; //id optional int32 heroid = 7; //id
@ -565,8 +573,8 @@ message MFGasData
*/ */
optional int32 mode = 1; //0:inactive 1:waiting 2:moving 3:jump optional int32 mode = 1; //0:inactive 1:waiting 2:moving 3:jump
optional float duration = 2; //() optional float duration = 2; //()
optional MFVec2 pos_old = 3; // optional MFVec3 pos_old = 3; //
optional MFVec2 pos_new = 4; // optional MFVec3 pos_new = 4; //
optional float rad_old = 5; // optional float rad_old = 5; //
optional float rad_new = 6; // optional float rad_new = 6; //
} }
@ -576,8 +584,8 @@ message MFTeamData
{ {
optional int32 team_id = 61; //Id optional int32 team_id = 61; //Id
optional int32 player_id = 1; //id optional int32 player_id = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
optional float health = 4; // optional float health = 4; //
optional bool disconnected = 5 [default = false]; //线 optional bool disconnected = 5 [default = false]; //线
optional bool dead = 6 [default = false]; // optional bool dead = 6 [default = false]; //
@ -607,8 +615,8 @@ message MFBullet
{ {
optional int32 player_id = 1; //id optional int32 player_id = 1; //id
optional int32 bullet_id = 2; //id optional int32 bullet_id = 2; //id
optional MFVec2 pos = 3; // optional MFVec3 pos = 3; //
optional MFVec2 dir = 4; // optional MFVec3 dir = 4; //
optional int32 gun_lv = 5; // optional int32 gun_lv = 5; //
optional int32 bulletskin = 6; // optional int32 bulletskin = 6; //
optional int32 gun_id = 10; //id optional int32 gun_id = 10; //id
@ -635,7 +643,7 @@ message MFShot
message MFExplosion message MFExplosion
{ {
optional int32 item_id = 1; //id optional int32 item_id = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional int32 player_id = 3; //id optional int32 player_id = 3; //id
optional int32 effect = 4 [default = 0]; // 0 1: optional int32 effect = 4 [default = 0]; // 0 1:
optional float rotate = 5; // optional float rotate = 5; //
@ -646,7 +654,7 @@ message MFExplosion
message MFSmoke message MFSmoke
{ {
optional int32 item_id = 1; //id optional int32 item_id = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional int32 player_id = 4; //id optional int32 player_id = 4; //id
optional float time_addition = 5; //() optional float time_addition = 5; //()
} }
@ -740,14 +748,14 @@ message MFAirDrop
{ {
optional int32 appear_time = 1; //() optional int32 appear_time = 1; //()
optional int32 box_id = 2; //id optional int32 box_id = 2; //id
optional MFVec2 pos = 3; // optional MFVec3 pos = 3; //
} }
// //
message MFAirRaid message MFAirRaid
{ {
optional int32 appear_time = 1; //() optional int32 appear_time = 1; //()
optional MFVec2 pos = 3; // optional MFVec3 pos = 3; //
optional float rad = 4; // optional float rad = 4; //
} }
@ -794,16 +802,16 @@ message MFBodyState
// //
message MFPlane message MFPlane
{ {
optional MFVec2 start_point = 1; // optional MFVec3 start_point = 1; //
optional MFVec2 end_point = 2; // optional MFVec3 end_point = 2; //
optional MFVec2 pos = 3; // optional MFVec3 pos = 3; //
} }
// //
message MFMapCarInfo message MFMapCarInfo
{ {
optional int32 car_id = 1; //id(equip表) optional int32 car_id = 1; //id(equip表)
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
} }
// //
@ -822,8 +830,8 @@ message MFTeamMember
message MFPosition message MFPosition
{ {
optional int32 obj_uniid = 1; //id optional int32 obj_uniid = 1; //id
optional MFVec2 pos = 2; // optional MFVec3 pos = 2; //
optional MFVec2 dir = 3; // optional MFVec3 dir = 3; //
optional int32 race = 4; //1: 2: optional int32 race = 4; //1: 2:
} }
@ -1044,8 +1052,8 @@ message CMMove
{ {
optional int32 seq = 1; // optional int32 seq = 1; //
optional MFVec2 move_dir = 2; //- optional MFVec3 move_dir = 2; //-
optional MFVec2 attack_dir = 3; //() optional MFVec3 attack_dir = 3; //()
optional bool shot_start = 4; //- optional bool shot_start = 4; //-
optional bool shot_hold = 5; //- optional bool shot_hold = 5; //-
@ -1068,7 +1076,7 @@ message CMMove
optional bool use_skill = 17; //使 optional bool use_skill = 17; //使
optional int32 skill_id = 18; //id optional int32 skill_id = 18; //id
optional int32 skill_target_id = 19; //() optional int32 skill_target_id = 19; //()
optional MFVec2 skill_dir = 20; // optional MFVec3 skill_dir = 20; //
optional float skill_distance = 21; // optional float skill_distance = 21; //
optional float skill_param1 = 22; // optional float skill_param1 = 22; //
@ -1103,7 +1111,7 @@ message CMImmediateMsg
// //
message CMTeamMarkTargetPos message CMTeamMarkTargetPos
{ {
optional MFVec2 pos = 1; // optional MFVec3 pos = 1; //
} }
//GM指令 //GM指令
@ -1123,7 +1131,7 @@ message CMDropItem
message CMEmote message CMEmote
{ {
optional int32 type = 1; optional int32 type = 1;
optional MFVec2 pos = 2; optional MFVec3 pos = 2;
optional bool team_only = 4; optional bool team_only = 4;
} }
@ -1265,7 +1273,7 @@ message SMUpdate
optional MFActivePlayerData active_player_data = 6; //() optional MFActivePlayerData active_player_data = 6; //()
optional int32 alive_count = 15; // optional int32 alive_count = 15; //
optional int32 gas_progress = 16; //,(gas_data.mode == moving时才会发进度) optional int32 gas_progress = 16; //,(gas_data.mode == moving时才会发进度)
optional MFVec2 gas_pos_old = 30; // optional MFVec3 gas_pos_old = 30; //
optional MFGasData gas_data = 17; // optional MFGasData gas_data = 17; //
repeated MFTeamData team_data = 18; // repeated MFTeamData team_data = 18; //
repeated MFBullet bullets = 20; // repeated MFBullet bullets = 20; //