Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Needs implementation #30

Closed
59 of 63 tasks
ASalvail opened this issue Sep 9, 2018 · 5 comments
Closed
59 of 63 tasks

Needs implementation #30

ASalvail opened this issue Sep 9, 2018 · 5 comments
Labels
C-enhancement Category: A PR with an enhancement or a proposed on in an issue.

Comments

@ASalvail
Copy link
Collaborator

ASalvail commented Sep 9, 2018

A todo list of yet unimplemented API

  • Game.market.* (Transactions and Orders need testing)
  • Game.market.incomingTransactions
  • Game.market.outgoingTransactions
  • Game.market.orders
  • Game.market.get_all_orders
  • Game.market.get_order
  • Game.notify
  • Game.map.findExit (implement callback)
  • Game.map.findRoute (has callback)
  • Game.getObjectById (for objects that have an id, but do not implement RoomObjectProperties)
  • Creep.body (part of it is in creep.parts)
  • Creep.saying
  • Creep.drop
  • Creep.moveByPath
  • Creep.moveTo (implement opts)
  • Creep.notifyWhenAttacked
  • Flag.*
  • Mineral.*
  • Nuke.*
  • Ressouce.id
  • Room.memory
  • Room.visual See What kind of RoomVisual support do we want? #46
  • Room.serializePath
  • Room.deserializePath
  • Room.findExitTo
  • Room.findPath
  • Room.getPositionAt
  • Room.lookAt
  • Room.lookAtArea
  • RoomPosition.findClosestByPath see Implementation details of RoomPosition.findClosestByPath #55
  • RoomPosition.findPathTo
  • RoomPosition.isEqualxy
  • RoomPosition.look
  • RoomVisual.* See What kind of RoomVisual support do we want? #46
  • StructureController.activateSafeMode
  • StructureController.unclaim
  • StructureExtension.* (I don't believe we can go with HasStore)
  • StructureExtractor.*
  • StructureKeeperLair.*
  • StructureLab.*
  • StructureLink.*
  • StructureNuker.*
  • StructureObserver.*
  • StructurePowerBank.*
  • StructurePowerSpawn.*
  • StructurePortal.*
  • StructureRampart.*
  • StructureRoad.*
  • StructureSpawn.memory
  • StructureSpawn.spawnCreep (options part, see todo in code)
  • StructureSpawn.recycleCreep
  • StructureSpawn.renewCreep
  • StructureTerminal.*
  • StructureTower.*
  • Tombstone.id
  • Update constants. There are a lot that are missing.

Relevant notes

There seem to be a need for a few more traits such as:

  • Decays -> tickToDecay
  • HasEnergyStore -> for towers, spawns, extensions, rampart, [link, lab, terminal, creep, container, storage].
  • HasHitPoints -> hits and hitsMax

Prior to solving a lot of other problems, there is a need for:

  • A Path struct
  • A way to sanely get arrays back from js (fixed from using TryFrom<Array>)
  • A way to parse objects deeply (e.g. for market orders) (using serde)
  • A way to encode the return value of all look methods (from Room and RoomPosition)
@daboross daboross added C-enhancement Category: A PR with an enhancement or a proposed on in an issue. A-screeps-game-api labels Sep 15, 2018
@daboross
Copy link
Collaborator

How do you think it would be best to handle newly added things?

I can imagine them either being added here, or put in a separate "implement update xxx" issue.

Thinking about this since https://blog.screeps.com/2018/09/changelog-2018-09-22/ adds some new things we'll want to add support for.

@ASalvail
Copy link
Collaborator Author

So long as we don't declare v1.0, it doesn't really matter. Afterward, I'd add an issue per unit of code.
Ideally, it might be nice to track it in a github project.

For the ones you pointed out, I'd add them here once they reach public release there (we might think of doing beta/ptr version later once the important stuff is taken care of).

@daboross
Copy link
Collaborator

daboross commented Sep 24, 2018

Alright, I'll make individual issues then; we might as well start now with everything released now on out. I don't see 1.0 as a huge milestone, only really as a commitment to stability.

The things in that blog post have hit public release as of the post.

@ASalvail
Copy link
Collaborator Author

Oh... at least, other than the event log, most of those are fairly straightforward.

@ASalvail
Copy link
Collaborator Author

I did most of the work that I wanted to do before starting. The remaining points are reiterated in #46, #55 and #88.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: A PR with an enhancement or a proposed on in an issue.
Projects
None yet
Development

No branches or pull requests

2 participants