1
This commit is contained in:
parent
77e22b85c4
commit
ff6ad94b13
@ -288,18 +288,22 @@ void Incubator::SpawnWaveMon(int wave)
|
|||||||
{
|
{
|
||||||
auto& mons = room->pve_mode_meta->waves[wave];
|
auto& mons = room->pve_mode_meta->waves[wave];
|
||||||
for (MetaData::PveGeminiContent* content : mons) {
|
for (MetaData::PveGeminiContent* content : mons) {
|
||||||
|
for (int i = 0; i < content->enemys.size(); ++i) {
|
||||||
room->xtimer.AddDeadLineTimerAndAttach
|
room->xtimer.AddDeadLineTimerAndAttach
|
||||||
(
|
(
|
||||||
room->IsDestoryRoom() ? 0 : SERVER_FRAME_RATE * 2,
|
room->IsDestoryRoom() ? 0 : SERVER_FRAME_RATE * 2,
|
||||||
a8::XParams()
|
a8::XParams()
|
||||||
.SetSender(this)
|
.SetSender(this)
|
||||||
.SetParam1(content)
|
.SetParam1(content)
|
||||||
.SetParam2(room),
|
.SetParam2(room)
|
||||||
|
.SetParam3(i),
|
||||||
[] (const a8::XParams& param)
|
[] (const a8::XParams& param)
|
||||||
{
|
{
|
||||||
MetaData::PveGeminiContent* content = (MetaData::PveGeminiContent*)param.param1.GetUserData();
|
MetaData::PveGeminiContent* content = (MetaData::PveGeminiContent*)param.param1.GetUserData();
|
||||||
Room* room = (Room*)param.param2.GetUserData();
|
Room* room = (Room*)param.param2.GetUserData();
|
||||||
MetaData::Player* hero_meta = MetaMgr::Instance()->GetPlayer(content->pb->enemy_id());
|
if (param.param3.GetInt() < content->enemys.size()) {
|
||||||
|
int enemy_id = content->enemys[param.param3.GetInt()];
|
||||||
|
MetaData::Player* hero_meta = MetaMgr::Instance()->GetPlayer(enemy_id);
|
||||||
if (hero_meta) {
|
if (hero_meta) {
|
||||||
a8::Vec2 hero_pos = content->spawn_point;
|
a8::Vec2 hero_pos = content->spawn_point;
|
||||||
|
|
||||||
@ -320,9 +324,11 @@ void Incubator::SpawnWaveMon(int wave)
|
|||||||
++room->pve_data.mon_num;
|
++room->pve_data.mon_num;
|
||||||
room->NotifyUiUpdate();
|
room->NotifyUiUpdate();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
&xtimer_attacher_.timer_list_);
|
&xtimer_attacher_.timer_list_);
|
||||||
++room->pve_data.refreshed_mon;
|
}
|
||||||
|
room->pve_data.refreshed_mon += content->enemys.size();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1659,6 +1659,7 @@ namespace MetaData
|
|||||||
|
|
||||||
void PveGeminiContent::Init()
|
void PveGeminiContent::Init()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PveGeminiMode::Init()
|
void PveGeminiMode::Init()
|
||||||
|
@ -405,6 +405,7 @@ namespace MetaData
|
|||||||
{
|
{
|
||||||
const metatable::PveGeminiContent* pb = nullptr;
|
const metatable::PveGeminiContent* pb = nullptr;
|
||||||
a8::Vec2 spawn_point;
|
a8::Vec2 spawn_point;
|
||||||
|
std::vector<int> enemys;
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
};
|
};
|
||||||
|
@ -637,7 +637,7 @@ message MFTeamData
|
|||||||
optional bool disconnected = 5 [default = false]; //是否短线
|
optional bool disconnected = 5 [default = false]; //是否短线
|
||||||
optional bool dead = 6 [default = false]; //是否死亡
|
optional bool dead = 6 [default = false]; //是否死亡
|
||||||
optional bool downed = 7 [default = false]; //是否倒下
|
optional bool downed = 7 [default = false]; //是否倒下
|
||||||
optional string name = 8; //名字
|
optional string name = 8; //名字(只同步一次)
|
||||||
optional float max_health = 9; //最大血量
|
optional float max_health = 9; //最大血量
|
||||||
optional bool riding = 40 [default = false]; //是否倒 下
|
optional bool riding = 40 [default = false]; //是否倒 下
|
||||||
optional string user_data = 60 [default = ""]; //用户自定义数据(只同步一次)
|
optional string user_data = 60 [default = ""]; //用户自定义数据(只同步一次)
|
||||||
|
@ -476,7 +476,7 @@ message PveGeminiContent
|
|||||||
optional int32 mode_id = 2;
|
optional int32 mode_id = 2;
|
||||||
optional int32 round = 3;
|
optional int32 round = 3;
|
||||||
optional string spawn_point = 4;
|
optional string spawn_point = 4;
|
||||||
optional int32 enemy_id = 5;
|
optional string enemy_id = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PveGeminiMode
|
message PveGeminiMode
|
||||||
|
Loading…
x
Reference in New Issue
Block a user