1
|
|
|
<?php |
2
|
|
|
/** |
3
|
|
|
* Copyright (c) 2018 VectorNetworkProject. All rights reserved. MIT license. |
4
|
|
|
* |
5
|
|
|
* GitHub: https://github.com/VectorNetworkProject/TheMix |
6
|
|
|
* Website: https://www.vector-network.tk |
7
|
|
|
*/ |
8
|
|
|
|
9
|
|
|
namespace VectorNetworkProject\TheMix\game\corepvp; |
10
|
|
|
|
11
|
|
|
use pocketmine\Player; |
12
|
|
|
use VectorNetworkProject\TheMix\game\corepvp\blue\BlueSpawnManager; |
13
|
|
|
use VectorNetworkProject\TheMix\game\corepvp\blue\BlueTeamManager; |
14
|
|
|
use VectorNetworkProject\TheMix\game\corepvp\red\RedSpawnManager; |
15
|
|
|
use VectorNetworkProject\TheMix\game\corepvp\red\RedTeamManager; |
16
|
|
|
use VectorNetworkProject\TheMix\game\kit\BlueKit; |
17
|
|
|
use VectorNetworkProject\TheMix\game\kit\RedKit; |
18
|
|
|
|
19
|
|
|
abstract class TeamManager |
|
|
|
|
20
|
|
|
{ |
21
|
|
|
/** |
22
|
|
|
* @param Player $player |
23
|
|
|
*/ |
24
|
|
|
public static function JoinTeam(Player $player) |
|
|
|
|
25
|
|
|
{ |
26
|
|
|
if (BlueTeamManager::isJoined($player) || RedTeamManager::isJoined($player)) { |
27
|
|
|
return; |
28
|
|
|
} |
29
|
|
|
if (BlueTeamManager::getListCount() < RedTeamManager::getListCount()) { |
30
|
|
|
BlueTeamManager::addList($player); |
31
|
|
|
BlueKit::sendItems($player); |
32
|
|
|
$player->teleport(BlueSpawnManager::getRandomPosition()); |
|
|
|
|
33
|
|
|
$player->setNameTag("§b{$player->getName()}§r"); |
34
|
|
|
$player->setDisplayName("§b{$player->getName()}§r"); |
35
|
|
|
$player->sendMessage('§bBLUE§fに入りました。'); |
36
|
|
|
} else { |
37
|
|
|
RedTeamManager::addList($player); |
38
|
|
|
RedKit::sendItem($player); |
39
|
|
|
$player->teleport(RedSpawnManager::getRandomPosition()); |
|
|
|
|
40
|
|
|
$player->setNameTag("§c{$player->getName()}§r"); |
41
|
|
|
$player->setDisplayName("§c{$player->getName()}§r"); |
42
|
|
|
$player->sendMessage('§cRED§fに入りました。'); |
43
|
|
|
} |
44
|
|
|
} |
45
|
|
|
|
46
|
|
|
public static function resetTeam(): void |
47
|
|
|
{ |
48
|
|
|
RedTeamManager::ClearList(); |
49
|
|
|
BlueTeamManager::ClearList(); |
50
|
|
|
} |
51
|
|
|
|
52
|
|
|
/** |
53
|
|
|
* @param Player $player |
54
|
|
|
*/ |
55
|
|
|
abstract public static function addList(Player $player): void; |
56
|
|
|
|
57
|
|
|
/** |
58
|
|
|
* @param Player $player |
59
|
|
|
*/ |
60
|
|
|
abstract public static function removeList(Player $player): void; |
61
|
|
|
|
62
|
|
|
/** |
63
|
|
|
* @param Player $player |
64
|
|
|
* |
65
|
|
|
* @return bool |
66
|
|
|
*/ |
67
|
|
|
abstract public static function isJoined(Player $player): bool; |
68
|
|
|
|
69
|
|
|
/** |
70
|
|
|
* @return array |
71
|
|
|
*/ |
72
|
|
|
abstract public static function getList(): array; |
73
|
|
|
} |
74
|
|
|
|
This check examines a number of code elements and verifies that they conform to the given naming conventions.
You can set conventions for local variables, abstract classes, utility classes, constant, properties, methods, parameters, interfaces, classes, exceptions and special methods.