本文整理汇总了PHP中Player::isTeamless方法的典型用法代码示例。如果您正苦于以下问题:PHP Player::isTeamless方法的具体用法?PHP Player::isTeamless怎么用?PHP Player::isTeamless使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Player
的用法示例。
在下文中一共展示了Player::isTeamless方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: joinAction
public function joinAction(Team $team, Player $me)
{
$this->requireLogin();
if (!$me->isTeamless()) {
throw new ForbiddenException("You are already a member of a team");
} elseif ($team->getStatus() != 'open') {
throw new ForbiddenException("This team is not accepting new members without an invitation");
}
return $this->showConfirmationForm(function () use($team, $me) {
$team->addMember($me->getId());
Service::getDispatcher()->dispatch(Events::TEAM_JOIN, new Event\TeamJoinEvent($team, $me));
return new RedirectResponse($team->getUrl());
}, "Are you sure you want to join {$team->getEscapedName()}?", "You are now a member of {$team->getName()}");
}
示例2: acceptAction
public function acceptAction(Invitation $invitation, Player $me)
{
if (!$me->isTeamless()) {
throw new ForbiddenException("You can't join a new team until you leave your current one.");
}
if ($invitation->getInvitedPlayer()->getId() != $me->getId()) {
throw new ForbiddenException("This invitation isn't for you!");
}
if ($invitation->getExpiration()->lt(TimeDate::now())) {
throw new ForbiddenException("This invitation has expired");
}
$inviter = $invitation->getSentBy()->getEscapedUsername();
$team = $invitation->getTeam();
return $this->showConfirmationForm(function () use($invitation, $team, $me) {
$team->addMember($me->getId());
$invitation->updateExpiration();
Service::getDispatcher()->dispatch(Events::TEAM_JOIN, new TeamJoinEvent($team, $me));
return new RedirectResponse($team->getUrl());
}, "Are you sure you want to accept the invitation from {$inviter} to join {$team->getEscapedName()}?", "You are now a member of {$team->getName()}");
}
示例3: addMember
/**
* Adds a new member to the team
*
* @param int $id The id of the player to add to the team
*
* @return boolean|null True if both the player was added to the team AND the team member count was incremented
*/
public function addMember($id)
{
$player = new Player($id);
if (!$player->isTeamless()) {
throw new Exception("The player already belongs in a team");
}
$player->setTeam($this->getId());
$this->update('members', ++$this->members, "i");
}
示例4: getTeam
/**
* Queries the database to get the team which a group of players belong to
*
* @param int[] $players The IDs of players
* @return Team The team
*/
private function getTeam($players)
{
$team = null;
foreach ($players as $id) {
$player = new Player($id);
if ($player->isTeamless()) {
return Team::invalid();
} elseif ($team == null) {
$team = $player->getTeam();
} elseif ($team->getId() != $player->getTeam()->getId()) {
// This player is on a different team from the previous player!
return Team::invalid();
}
}
return $team;
}