Completed
Push — master ( f991c2...b8dc7c )
by Andres
38s
created

src/scripts/services/upgrade.js   A

Complexity

Total Complexity 9
Complexity/F 3

Size

Lines of Code 43
Function Count 3

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 0
wmc 9
c 2
b 0
f 0
nc 1
mnd 1
bc 9
fnc 3
dl 0
loc 43
rs 10
bpm 3
cpm 3
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
B angular.service(ꞌupgradeꞌ) 0 37 1
1
'use strict';
2
3
angular
4
  .module('game')
5
  .service('upgrade', ['data',
6
    function(data) {
7
      this.buyUpgrade = function (player, upgrades, name, price, currency) {
8
        if (upgrades[name]) {
9
          return;
10
        }
11
        if (player.resources[currency].number >= price) {
12
          player.resources[currency].number -= price;
13
          upgrades[name] = true;
14
        }
15
      };
16
17
      this.resetElement = function(player, element) {
18
        let resources = player.resources;
19
        for (let resource of data.elements[element].includes) {
20
          resources[resource].number = 0;
21
        }
22
23
        let upgrades = player.elements[element].upgrades;
24
        for (let upgrade in upgrades) {
25
          upgrades[upgrade] = false;
26
        }
27
28
        let generators = player.elements[element].generators;
29
        for (let generator in generators) {
30
          generators[generator] = 0;
31
        }
32
33
        let syntheses = data.elements[element].syntheses;
34
        for (let synthesis of syntheses) {
35
          player.syntheses[synthesis].active = 0;
36
        }
37
        delete generators['0'];
38
        let first = Object.keys(generators)[0];
39
40
        player.elements[element].generators[first] = 1;
41
      };
42
    }
43
  ]);
44