Completed
Pull Request — master (#152)
by
unknown
02:44
created

VoteDataProvider   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 2
dl 0
loc 31
rs 10
c 0
b 0
f 0
ccs 0
cts 17
cp 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
B VoteUpdated() 0 17 5
1
<?php
2
3
namespace eXpansion\Framework\GameManiaplanet\DataProviders;
4
5
use eXpansion\Framework\Core\DataProviders\AbstractDataProvider;
6
use eXpansion\Framework\Core\Storage\PlayerStorage;
7
8
/**
9
 * VoteDataProvider provides vote information to plugins.
10
 *
11
 * @package eXpansion\Framework\Core\DataProviders
12
 * @author reaby
13
 */
14
class VoteDataProvider extends AbstractDataProvider
15
{
16
17
    /**
18
     * @var PlayerStorage
19
     */
20
    private $playerStorage;
21
22
    public function __construct(PlayerStorage $playerStorage)
23
    {
24
        $this->playerStorage = $playerStorage;
25
    }
26
27
    public function VoteUpdated($stateName, $login, $cmdName, $cmdValue)
28
    {
29
        switch ($stateName) {
30
            case "NewVote":
31
                $this->dispatch("onVoteNew", [$this->playerStorage->getPlayerInfo($login), $cmdName, $cmdValue]);
32
                break;
33
            case "VoteCancelled":
34
                $this->dispatch("onVoteCancelled", [$this->playerStorage->getPlayerInfo($login), $cmdName, $cmdValue]);
35
                break;
36
            case "VotePassed":
37
                $this->dispatch("onVotePassed", [$this->playerStorage->getPlayerInfo($login), $cmdName, $cmdValue]);
38
                break;
39
            case "VoteFailed":
40
                $this->dispatch("onVoteFailed", [$this->playerStorage->getPlayerInfo($login), $cmdName, $cmdValue]);
41
                break;
42
        }
43
    }
44
}
45