-
Notifications
You must be signed in to change notification settings - Fork 0
/
unit_template.cpp
36 lines (30 loc) · 1.08 KB
/
unit_template.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#import "unit_template.h"
#import "template_component.h"
unit_template::unit_template() {}
void unit_template::add(const component_template & component_template) {
_component_templates.push_back(component_template);
}
std::unique_ptr<component_set> unit_template::create_components() const {
auto components = std::unique_ptr<component_set>(new component_set());
for(const auto component_template : _component_templates)
components->push_back(std::make_shared<template_component>(component_template));
return components;
}
mass_t unit_template::mass() const {
mass_t mass = 0;
for(const auto component_template : _component_templates)
mass += component_template.mass;
return mass;
}
complexity_t unit_template::complexity() const {
complexity_t complexity = 0;
for(const auto component_template : _component_templates)
complexity += component_template.complexity;
return complexity;
}
health_t unit_template::health() const {
health_t health = 0;
for(const auto component_template : _component_templates)
health += component_template.health;
return health;
}