Giter VIP home page Giter VIP logo

Comments (1)

xxAROX avatar xxAROX commented on July 28, 2024

Here is a little help(its from my bedwars team selection)

		$arena = $player->getArena();
		if (!$arena instanceof Arena) {
			$player->sendMessage("message.notInGame");
			return;
		}
		$buttons = $arr = [];
		foreach ($arena->getTeams() as $team) {
			$name = $team->getColor() . $team->getName() . " | " . count($team->getPlayers()) . "/" . $team->getMaxPlayers();
			$buttons[] = new Button($name);
			$arr[$name] = $team;
		}
		$player->sendForm(new MenuForm( //FORM BEGINS
			"Teams",
			"",
			$buttons,
			function (Player $player, Button $button) use ($arr): void{ //FORM RESPONSE BEGINS
				if (!$player instanceof BWPlayer) {
					return;
				}
				/** @var Team $selectedTeam */
				$selectedTeam = $arr[$button->getText()];
				$oldTeam = $player->getTeam();

				if ($oldTeam->getName() == $selectedTeam->getName()) {
					$player->sendMessage("message.alreadyInTeam");
					return;
				}
				if (count($selectedTeam->getPlayers()) >= $selectedTeam->getMaxPlayers()) {
					$player->sendMessage("message.teamIsFull");
					return;
				}
				$oldTeam->removePlayer($player);
				$selectedTeam->addPlayer($player);
				$player->sendMessage("message.onTeamChoose", [$selectedTeam->getColor() . $player->translate($selectedTeam->getName())]);
			} //FORM RESPONSE ENDS
		)); //FORM ENDS

i hope this can help you.

from easyforms.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.