-
Notifications
You must be signed in to change notification settings - Fork 18
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
[Bug] replace GamePlayKit with aStar for path finding #17
[Bug] replace GamePlayKit with aStar for path finding #17
Conversation
Hello @ampm |
Hopefully we can upgrade to Xcode 11 in the coming months, but we want this project to be compatible with the build macs for Firefox iOS which is currently limited to Xcode 10. |
Can you change the inclusion of A* to use:
Assuming 'master' is the working version here. Then include Carthage/Checkouts/A-Star/[the needed files] swift files in the mappamundi project as they are currently. |
MappaMundi/aStar/MMNode.swift
Outdated
// MappaMundi | ||
// | ||
// Created by Yang, Roy on 2019/6/7. | ||
// Copyright © 2019 Mozilla Corporation. All rights reserved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use the mozilla licence header, thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, updated.
I added a version tag so you can safely use all versions compatible with version 1.0.0
|
Hi @garvankeeley , have integrated with Carthage. |
Hi @garvankeeley, have updated code, pls help to review it again, thanks. |
hi @garvankeeley, pls on hold, I need to do more test to make sure it works well with FireFox-iOS. |
2382853
to
d38434e
Compare
d38434e
to
6c799f2
Compare
I'll run all the Firefox iOS tests with this today and see how it goes. |
sure, but pls let me know before merging, because of the Astar source code in MappamMundi is a little different with the version specified in Carhtage/Carthage.resolve files. (I copied them instead of using the checked out source at this moment.) I have created a PR for it and waiting for @Dev1an to review it. Dev1an/A-Star#7 . once it is merged, I can update the Carthage file in this PR and link checked files into this project. |
I'll wait until your PR is merged. For now, the test results are looking good on Firefox iOS. |
Mind if I ping for a status update on this PR? |
214a85f
to
be26c47
Compare
hi @garvankeeley , it's ready to merge now. To apply this update in FireFox-iOS, I can create another PR with following action
Thanks a lot. |
0ba8d43
to
617c392
Compare
I'll land this and then update Firefox iOS. |
The Cartfile we inherited from Firefox contains this line: `github "mozilla-mobile/MappaMundi" "master"` recently, MappaMundi was [updated to use the A-Star project](mozilla-mobile/MappaMundi#17) for pathfinding. This project, however, needs Swift 5. Hence, the build is broken. To fix, pin the MappaMundi version to a commit before they introduce the A-Star algorithm.
The Cartfile we inherited from Firefox contains this line: `github "mozilla-mobile/MappaMundi" "master"` recently, MappaMundi was [updated to use the A-Star project](mozilla-mobile/MappaMundi#17) for pathfinding. This project, however, needs Swift 5. Hence, the build is broken. To fix, pin the MappaMundi version to a commit before they introduce the A-Star algorithm.
Hi @garvankeeley @jhugman , can you help to review this PR and to see if it is possible to merge it back into master branch?
Checkpoints
GamePlayKit
(except oftestAccountManagementPage
, this case failed because of the code itself).Test Result
Description
This PR has resolved #16
The implementation of aStar algorithm is borrowed from @Dev1an https://github.com/Dev1an/A-Star (MIT license)
Rewind
One more thing I want to share with you is, in this branch(for reproducing the bug, if you remember)
https://github.com/ampm/MappaMundi/blob/ampm/reproduce_finpath_bug/
We repeatedly run
testReproduceFindpathError
ten times with the following code, and our app will relaunch before each invokes, we can reproduce the error easily, the right or wrong result comes alternatively.But if we repeat it in this way(we run the test manually),