1
This commit is contained in:
parent
a30b3510b7
commit
db15960769
@ -129,6 +129,71 @@ static void Human_FillBodyState(Human* self, ::google::protobuf::RepeatedPtrFiel
|
||||
}
|
||||
}
|
||||
|
||||
static Player* InternalCreatePlayer(std::shared_ptr<CustomBattle> p,
|
||||
std::shared_ptr<CustomMember> m,
|
||||
std::shared_ptr<CustomTeam> net_team,
|
||||
std::shared_ptr<Team> room_team,
|
||||
cs::CMJoin& join_msg)
|
||||
{
|
||||
Player* hum = p->GetRoom()->NewPlayer();
|
||||
//hum->ip_saddr = ip_saddr;
|
||||
//hum->socket_handle = socket_handle;
|
||||
hum->name = m->GetName();
|
||||
hum->room = p->GetRoom();
|
||||
hum->proto_version = join_msg.proto_version();
|
||||
#if 0
|
||||
hum->hero_uniid = a8::XValue(join_msg->hero_uniid());
|
||||
#endif
|
||||
hum->battle_uuid = m->GetNetData()->battle_uuid;
|
||||
hum->is_valid_battle = m->GetNetData()->is_valid_battle;
|
||||
hum->payload = m->GetNetData()->payload;
|
||||
#if 1
|
||||
join_msg.set_account_id(m->GetAccountId());
|
||||
join_msg.set_session_id(m->GetSessionId());
|
||||
join_msg.set_team_uuid(m->GetTeam()->GetTeamUuid());
|
||||
join_msg.set_name(m->GetName());
|
||||
join_msg.set_avatar_url(m->GetAvatarUrl());
|
||||
join_msg.set_head_frame(m->GetHeadFrame());
|
||||
join_msg.set_sex(m->GetSex());
|
||||
join_msg.set_hero_id(m->GetNetData()->GetHeroId());
|
||||
#endif
|
||||
PlayerMgr::Instance()->
|
||||
CreatePlayerByCMJoin(hum,
|
||||
0,
|
||||
0,
|
||||
join_msg
|
||||
);
|
||||
hum->meta = mt::Hero::GetById(join_msg.hero_id());
|
||||
if (!hum->meta) {
|
||||
hum->meta = mt::Param::s().human_meta;
|
||||
}
|
||||
hum->SetNetData(m->GetNetData());
|
||||
hum->GetNetData()->Init(hum);
|
||||
{
|
||||
long long hero_uniid = 0;
|
||||
int hero_lv = 1;
|
||||
int quality = 1;
|
||||
hum->GetNetData()->GetHeroLvQuality(hero_uniid, hero_lv, quality);
|
||||
hum->hero_uniid = hero_uniid;
|
||||
}
|
||||
p->GetRoom()->AddPlayer(hum);
|
||||
hum->ProcSkillList();
|
||||
hum->SetHP(hum->GetNetData()->GetMaxHP());
|
||||
hum->SetMaxHP(hum->GetHP());
|
||||
PlayerMgr::Instance()->IncAccountNum(join_msg.account_id());
|
||||
RoomMgr::Instance()->OnJoinRoomOk(join_msg, hum);
|
||||
room_team->AddMember(hum);
|
||||
#ifdef MYDEBUG
|
||||
a8::XPrintf("moba init1 uniid:%d team_id:%d side:%d\n",
|
||||
{
|
||||
hum->GetUniId(),
|
||||
hum->GetTeam()->GetTeamId(),
|
||||
hum->side
|
||||
});
|
||||
#endif
|
||||
return hum;
|
||||
}
|
||||
|
||||
void PBUtils::Ability_FillMFAttrAdditionList(Ability* self, Human* hum, cs::MFActivePlayerData* player_data)
|
||||
{
|
||||
_Ability_FillMFAttrAdditionList
|
||||
@ -2727,62 +2792,7 @@ int Room::InitWithCustomBattle(long ip_saddr, int socket_handle, std::shared_ptr
|
||||
(
|
||||
[join_msg, p, net_team, room_team] (std::shared_ptr<CustomMember> m) mutable -> bool
|
||||
{
|
||||
Player* hum = p->GetRoom()->NewPlayer();
|
||||
//hum->ip_saddr = ip_saddr;
|
||||
//hum->socket_handle = socket_handle;
|
||||
hum->name = m->GetName();
|
||||
hum->room = p->GetRoom();
|
||||
hum->proto_version = join_msg.proto_version();
|
||||
#if 0
|
||||
hum->hero_uniid = a8::XValue(join_msg->hero_uniid());
|
||||
#endif
|
||||
hum->battle_uuid = m->GetNetData()->battle_uuid;
|
||||
hum->is_valid_battle = m->GetNetData()->is_valid_battle;
|
||||
hum->payload = m->GetNetData()->payload;
|
||||
#if 1
|
||||
join_msg.set_account_id(m->GetAccountId());
|
||||
join_msg.set_session_id(m->GetSessionId());
|
||||
join_msg.set_team_uuid(m->GetTeam()->GetTeamUuid());
|
||||
join_msg.set_name(m->GetName());
|
||||
join_msg.set_avatar_url(m->GetAvatarUrl());
|
||||
join_msg.set_head_frame(m->GetHeadFrame());
|
||||
join_msg.set_sex(m->GetSex());
|
||||
join_msg.set_hero_id(m->GetNetData()->GetHeroId());
|
||||
#endif
|
||||
PlayerMgr::Instance()->
|
||||
CreatePlayerByCMJoin(hum,
|
||||
0,
|
||||
0,
|
||||
join_msg
|
||||
);
|
||||
hum->meta = mt::Hero::GetById(join_msg.hero_id());
|
||||
if (!hum->meta) {
|
||||
hum->meta = mt::Param::s().human_meta;
|
||||
}
|
||||
hum->SetNetData(m->GetNetData());
|
||||
hum->GetNetData()->Init(hum);
|
||||
{
|
||||
long long hero_uniid = 0;
|
||||
int hero_lv = 1;
|
||||
int quality = 1;
|
||||
hum->GetNetData()->GetHeroLvQuality(hero_uniid, hero_lv, quality);
|
||||
hum->hero_uniid = hero_uniid;
|
||||
}
|
||||
p->GetRoom()->AddPlayer(hum);
|
||||
hum->ProcSkillList();
|
||||
hum->SetHP(hum->GetNetData()->GetMaxHP());
|
||||
hum->SetMaxHP(hum->GetHP());
|
||||
PlayerMgr::Instance()->IncAccountNum(join_msg.account_id());
|
||||
RoomMgr::Instance()->OnJoinRoomOk(join_msg, hum);
|
||||
room_team->AddMember(hum);
|
||||
#ifdef MYDEBUG
|
||||
a8::XPrintf("moba init1 uniid:%d team_id:%d side:%d\n",
|
||||
{
|
||||
hum->GetUniId(),
|
||||
hum->GetTeam()->GetTeamId(),
|
||||
hum->side
|
||||
});
|
||||
#endif
|
||||
Player* hum = InternalCreatePlayer(p, m, net_team, room_team, join_msg);
|
||||
return true;
|
||||
}
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user