添加然后访问控制器上的内存
adding then accessing memory on controller
if (this.controller && !this.controller.memory) this.controller.memory = { containerid: null, linkid: null };
稍后我有这个:
if (creep.room.controller.memory) {//do code}
出于某种原因,当我尝试从 creep 访问它时它失败了(我遇到了 else 条件)我错过了什么?
控制器在 Creeps 等属性中没有内存 shorthand。
像 Screeps 中的大多数东西一样,StructureController 没有内存。 See Screeps Docs
您必须将 Creeps、Rooms、Spawns 记录到内存中,以及所有其他内容!
Screeps 对象,如 Creeps、Spawns 等...不会在它们自己的属性中存储内存,而是存储在内存对象中。
不要像您尝试的那样向对象添加内存!这是一个陷阱!
我建议你把Controller Memory写在他的Room Memory里。
Memory.rooms[controller.room.name]
我不知道你是如何访问你的控制器的。
如果您使用房间名称访问控制器:
// Your Room. Random example: "E12N36"
let room = Game.rooms[room_name]
let controller = room.controller
// Add into the Room Memory your information about/for/with controller
room.memory.controllerOfRilcon = {
name: "Not",
sure_name: "Sure",
NumberOfPokeballs: "FullOfBits",
Nanani: "Done",
Nanana: "TryToThink"
}
您可以在文档中看到非常重要的一点内存是如何工作的Documentation-CreepMemory
Game.creeps[name].memory 只是一个 shorthand 用于访问对象 Memory.creeps[name] 。真正的记忆数据是Object Memory
对象中没有内存!
if (this.controller && !this.controller.memory) this.controller.memory = { containerid: null, linkid: null };
稍后我有这个:
if (creep.room.controller.memory) {//do code}
出于某种原因,当我尝试从 creep 访问它时它失败了(我遇到了 else 条件)我错过了什么?
控制器在 Creeps 等属性中没有内存 shorthand。
像 Screeps 中的大多数东西一样,StructureController 没有内存。 See Screeps Docs
您必须将 Creeps、Rooms、Spawns 记录到内存中,以及所有其他内容! Screeps 对象,如 Creeps、Spawns 等...不会在它们自己的属性中存储内存,而是存储在内存对象中。
不要像您尝试的那样向对象添加内存!这是一个陷阱! 我建议你把Controller Memory写在他的Room Memory里。
Memory.rooms[controller.room.name]
我不知道你是如何访问你的控制器的。 如果您使用房间名称访问控制器:
// Your Room. Random example: "E12N36"
let room = Game.rooms[room_name]
let controller = room.controller
// Add into the Room Memory your information about/for/with controller
room.memory.controllerOfRilcon = {
name: "Not",
sure_name: "Sure",
NumberOfPokeballs: "FullOfBits",
Nanani: "Done",
Nanana: "TryToThink"
}
您可以在文档中看到非常重要的一点内存是如何工作的Documentation-CreepMemory
Game.creeps[name].memory 只是一个 shorthand 用于访问对象 Memory.creeps[name] 。真正的记忆数据是Object Memory
对象中没有内存!