-
Notifications
You must be signed in to change notification settings - Fork 0
/
Source.js
43 lines (41 loc) · 1.01 KB
/
Source.js
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
37
38
39
40
41
42
43
Object.defineProperty(Source.prototype, "memory", {
configurable: true,
get: function () {
if (_.isUndefined(this.room.memory)) {
this.room.memory = {};
}
if (!_.isObject(this.room.memory)) {
return undefined;
}
return (this.room.memory[this.id] = this.room.memory[this.id] || {});
},
set: function (value) {
if (_.isUndefined(this.room.memory)) {
this.room.memory = {};
}
if (_.isObject(this.room.memory)) {
this.room.memory[this.id] = value;
}
},
});
Object.defineProperty(Source.prototype, "assignedHarvesterName", {
configurable: true,
get: function () {
if (!_.isUndefined(this.memory.assignedHarvesterName)) {
return this.memory.assignedHarvesterName;
}
return undefined;
},
set: function (value) {
if (!_.isUndefined(this.memory)) {
this.memory.assignedHarvesterName = value;
}
},
});
Object.defineProperty(Source.prototype, "isHarvesterAlive", {
configurable: true,
enumerable: false,
get: function () {
return this.assignedHarvesterName in Game.creeps;
},
});