首页 > 解决方案 > (Screeps) 找不到打字稿功能

问题描述

源代码可以在这里找到https://github.com/zevrant/screeps

我有一个由多个类实现的接口,当我去调用实现的接口时,我得到以下错误,我不知道为什么。我是一名 java 开发人员,我唯一的 typescript 经验是使用 Angular,所以我对 typscript 的了解是有限的。

TypeError: spawn.memory.tasks[0].execute 不是 _.forEach.spawn (../src/main.ts:70:30) 的函数

编辑1

记录对象

{"priority":10,"class":"SpawnCreep","outputs":{},"requirements":{},"sourceLocation":{"id":"2bdee70715ebc4e","room":{"name":"W3N7","energyAvailable":14,"energyCapacityAvailable":300,"visual":{"roomName":"W3N7"}},"pos":{"x":27,"y":16,"roomName":"W3N7"},"name":"Spawn1","energy":14,"energyCapacity":300,"spawning":{"name":"0u9tvotgf5cgw4ifhoewivg","needTime":15,"remainingTime":1},"store":{"energy":14},"owner":{"username":"Zevrant"},"my":true,"hits":5000,"hitsMax":5000,"structureType":"spawn"},"storageLocation":{"id":"2bdee70715ebc4e","room":{"name":"W3N7","energyAvailable":14,"energyCapacityAvailable":300,"visual":{"roomName":"W3N7"}},"pos":{"x":27,"y":16,"roomName":"W3N7"},"name":"Spawn1","energy":14,"energyCapacity":300,"spawning":{"name":"0u9tvotgf5cgw4ifhoewivg","needTime":15,"remainingTime":1},"store":{"energy":14},"owner":{"username":"Zevrant"},"my":true,"hits":5000,"hitsMax":5000,"structureType":"spawn"},"creep":{"id":"2bdee70715ebc4e","room":{"name":"W3N7","energyAvailable":14,"energyCapacityAvailable":300,"visual":{"roomName":"W3N7"}},"pos":{"x":27,"y":16,"roomName":"W3N7"},"name":"Spawn1","energy":14,"energyCapacity":300,"spawning":{"name":"0u9tvotgf5cgw4ifhoewivg","needTime":15,"remainingTime":1},"store":{"energy":14},"owner":{"username":"Zevrant"},"my":true,"hits":5000,"hitsMax":5000,"structureType":"spawn"}}

标签: typescriptscreeps

解决方案


如果您将类实例存储在内存中,它会被转换为 JSON 表示,即失去所有功能。

您将需要创建一个空类并设置值并调用该函数。

const spawnCreep = new SpawnCreep()

分配spawn.memory.tasks[0]spawnCreep

并打电话spawnCreep.execute()


推荐阅读