优化NotifyGameStart
This commit is contained in:
parent
c8e8c92889
commit
a0de81fcf2
@ -1580,58 +1580,33 @@ void Room::NotifyGameStart()
|
|||||||
cs::SMGameStart msg;
|
cs::SMGameStart msg;
|
||||||
for (auto& pair : accountid_hash_) {
|
for (auto& pair : accountid_hash_) {
|
||||||
pair.second->SendNotifyMsg(msg);
|
pair.second->SendNotifyMsg(msg);
|
||||||
if (room_type_ == RT_NewBrid) {
|
|
||||||
first_newbie_ = pair.second;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
xtimer.AddDeadLineTimerAndAttach(SERVER_FRAME_RATE * 1,
|
|
||||||
a8::XParams()
|
|
||||||
.SetSender(this),
|
|
||||||
[] (const a8::XParams& param)
|
|
||||||
{
|
|
||||||
Room* room = (Room*)param.sender.GetUserData();
|
|
||||||
room->ProcDisableHuman();
|
|
||||||
room->SecondRandPoint();
|
|
||||||
},
|
|
||||||
&xtimer_attacher_.timer_list_);
|
|
||||||
waiting_start_ = true;
|
waiting_start_ = true;
|
||||||
xtimer.AddDeadLineTimerAndAttach(SERVER_FRAME_RATE * 2,
|
xtimer.AddDeadLineTimerAndAttach
|
||||||
a8::XParams()
|
(SERVER_FRAME_RATE * 2,
|
||||||
.SetSender(this),
|
a8::XParams()
|
||||||
[] (const a8::XParams& param)
|
.SetSender(this),
|
||||||
{
|
[] (const a8::XParams& param)
|
||||||
Room* room = (Room*)param.sender.GetUserData();
|
{
|
||||||
room->waiting_start_ = false;
|
Room* room = (Room*)param.sender.GetUserData();
|
||||||
},
|
room->waiting_start_ = false;
|
||||||
&xtimer_attacher_.timer_list_);
|
},
|
||||||
if (room_type_ == RT_NewBrid) {
|
&xtimer_attacher_.timer_list_);
|
||||||
xtimer.AddDeadLineTimerAndAttach
|
xtimer.AddDeadLineTimerAndAttach
|
||||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->level0room_robot_protect_time,
|
(SERVER_FRAME_RATE * 1,
|
||||||
a8::XParams()
|
a8::XParams()
|
||||||
.SetSender(this),
|
.SetSender(this),
|
||||||
[] (const a8::XParams& param)
|
[] (const a8::XParams& param)
|
||||||
{
|
{
|
||||||
Room* room = (Room*)param.sender.GetUserData();
|
Room* room = (Room*)param.sender.GetUserData();
|
||||||
if (room->GetFirstNewBie()) {
|
room->ProcDisableHuman();
|
||||||
room->GetFirstNewBie()->ProcNewBieLogic();
|
room->SecondRandPoint();
|
||||||
}
|
},
|
||||||
},
|
&xtimer_attacher_.timer_list_);
|
||||||
&xtimer_attacher_.timer_list_);
|
|
||||||
}
|
if (room_type == RT_NewBrid || room_type == RT_MidBrid) {
|
||||||
if (room_type_ == RT_MidBrid) {
|
NewBieRoomStart();
|
||||||
xtimer.AddDeadLineTimerAndAttach
|
|
||||||
(SERVER_FRAME_RATE * MetaMgr::Instance()->level1room_shua_robot_min_time,
|
|
||||||
a8::XParams()
|
|
||||||
.SetSender(this),
|
|
||||||
[] (const a8::XParams& param)
|
|
||||||
{
|
|
||||||
Room* room = (Room*)param.sender.GetUserData();
|
|
||||||
#if 0
|
|
||||||
room->ShuaAndroidTimerFunc();
|
|
||||||
#endif
|
|
||||||
room->DieAndroidTimerFunc();
|
|
||||||
},
|
|
||||||
&xtimer_attacher_.timer_list_);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2454,3 +2429,37 @@ void Room::ForceSetBornPoint(Human* hum, BornPoint* born_point)
|
|||||||
grid_service->MoveHuman(hum);
|
grid_service->MoveHuman(hum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Room::NewBieRoomStart()
|
||||||
|
{
|
||||||
|
if (room_type_ == RT_NewBrid) {
|
||||||
|
for (auto& pair : accountid_hash_) {
|
||||||
|
first_newbie_ = pair.second;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
xtimer.AddDeadLineTimerAndAttach
|
||||||
|
(SERVER_FRAME_RATE * MetaMgr::Instance()->level0room_robot_protect_time,
|
||||||
|
a8::XParams()
|
||||||
|
.SetSender(this),
|
||||||
|
[] (const a8::XParams& param)
|
||||||
|
{
|
||||||
|
Room* room = (Room*)param.sender.GetUserData();
|
||||||
|
if (room->GetFirstNewBie()) {
|
||||||
|
room->GetFirstNewBie()->ProcNewBieLogic();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
&xtimer_attacher_.timer_list_);
|
||||||
|
}
|
||||||
|
if (room_type_ == RT_MidBrid) {
|
||||||
|
xtimer.AddDeadLineTimerAndAttach
|
||||||
|
(SERVER_FRAME_RATE * MetaMgr::Instance()->level1room_shua_robot_min_time,
|
||||||
|
a8::XParams()
|
||||||
|
.SetSender(this),
|
||||||
|
[] (const a8::XParams& param)
|
||||||
|
{
|
||||||
|
Room* room = (Room*)param.sender.GetUserData();
|
||||||
|
room->DieAndroidTimerFunc();
|
||||||
|
},
|
||||||
|
&xtimer_attacher_.timer_list_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -178,6 +178,7 @@ private:
|
|||||||
void AddPlayerPostProc(Player* hum);
|
void AddPlayerPostProc(Player* hum);
|
||||||
void CombineTeamBornPoint();
|
void CombineTeamBornPoint();
|
||||||
void ForceSetBornPoint(Human* hum, BornPoint* born_point);
|
void ForceSetBornPoint(Human* hum, BornPoint* born_point);
|
||||||
|
void NewBieRoomStart();
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
void InitDebugInfo();
|
void InitDebugInfo();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user