TournamentStaticSceneData::setGlobalObjects()   C
last analyzed

Complexity

Conditions 8
Paths 2

Size

Total Lines 26
Code Lines 19

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 26
rs 5.3846
cc 8
eloc 19
nc 2
nop 1
1
<?php
2
namespace Perry\Representation\Eve\v1;
3
4
use \Perry\Representation\Reference as Reference;
5
use \Perry\Representation\Uri as Uri;
6
use \Perry\Representation\Base as Base;
7
8
class TournamentStaticSceneData extends Base
9
{
10
    public $globalObjects = [];
11
12
    public $ships = [];
13
14
    public $nebulaName;
15
16
    // by Warringer\Types\ArrayType
17
    public function setGlobalObjects($globalObjects)
18
    {
19
        // by Warringer\Types\Dict
20
        $converters = [];
21
        $converters['name'] = function ($value) { return $value; };
22
        $converters['planetOrMoonInfo'] = function ($value) { return $value; };
23
        $converters['y'] = function ($value) { return $value; };
24
        $converters['x'] = function ($value) { return $value; };
25
        $converters['z'] = function ($value) { return $value; };
26
        $converters['type'] = function ($value) { return new Reference($value); };
27
28
        $func = function ($value) use($converters) {
29
            $return = new \ArrayObject($value, \ArrayObject::ARRAY_AS_PROPS);
30
            $return['name'] = isset($value->{'name'}) ? $converters['name']($value->{'name'}) : null;
31
            $return['planetOrMoonInfo'] = isset($value->{'planetOrMoonInfo'}) ? $converters['planetOrMoonInfo']($value->{'planetOrMoonInfo'}) : null;
32
            $return['y'] = isset($value->{'y'}) ? $converters['y']($value->{'y'}) : null;
33
            $return['x'] = isset($value->{'x'}) ? $converters['x']($value->{'x'}) : null;
34
            $return['z'] = isset($value->{'z'}) ? $converters['z']($value->{'z'}) : null;
35
            $return['type'] = isset($value->{'type'}) ? $converters['type']($value->{'type'}) : null;
36
            return $return;
37
        };
38
39
        foreach ($globalObjects as $key => $value) {
40
            $this->globalObjects[$key] = $func($value);
41
        }
42
    }
43
44
    // by Warringer\Types\ArrayType
45
    public function setShips($ships)
46
    {
47
        // by Warringer\Types\Dict
48
        $converters = [];
49
        $converters['item'] = function ($value) { return new Reference($value); };
50
        $converters['points'] = function ($value) { return $value; };
51
        $converters['character'] = function ($value) { return new Reference($value); };
52
        $converters['turrets'] = function ($values) {
53
        // by Warringer\Types\Reference
54
        $func = function ($value) { return new Reference($value); };
55
56
            foreach ($values as $key => $value) {
57
                 $values[$key] = $func($value);
58
            }
59
           return $values;
60
        };
61
62
        $converters['type'] = function ($value) { return new Reference($value); };
63
64
        $func = function ($value) use($converters) {
65
            $return = new \ArrayObject($value, \ArrayObject::ARRAY_AS_PROPS);
66
            $return['item'] = isset($value->{'item'}) ? $converters['item']($value->{'item'}) : null;
67
            $return['points'] = isset($value->{'points'}) ? $converters['points']($value->{'points'}) : null;
68
            $return['character'] = isset($value->{'character'}) ? $converters['character']($value->{'character'}) : null;
69
            $return['turrets'] = isset($value->{'turrets'}) ? $converters['turrets']($value->{'turrets'}) : null;
70
            $return['type'] = isset($value->{'type'}) ? $converters['type']($value->{'type'}) : null;
71
            return $return;
72
        };
73
74
        foreach ($ships as $key => $value) {
75
            $this->ships[$key] = $func($value);
76
        }
77
    }
78
79
    // by Warringer\Types\String
80
    public function setNebulaName($nebulaName)
81
    {
82
        $this->nebulaName = $nebulaName;
83
    }
84
85
}
86