-
Notifications
You must be signed in to change notification settings - Fork 10
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
Split Tracker Services & Regions #584
Conversation
This all seems sensible so far! |
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.
So far, I'm a fan of moving more logic into the object classes themselves (Boss, Item, etc.).
I am more than a little confused now about the existence of ItemService and TrackerItemService, or WorldService and TrackerLocationService. Could these be consolidated somehow? Or at least a name that doesn't make it feel like we duplicated them?
_ => null | ||
}; | ||
|
||
public bool IsKeysanityForArea |
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.
I feel like the "ForArea" in the name here just adds confusion. Wouldn't just "IsKeysanity" be enough?
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.
So TrackerItemService and TrackerLocationService are for tracking things, and the ItemService and WorldService are more for querying data from the world(s), so to speak.
I do think there's a bit of shuffling things around a bit, though. The ItemService also weirdly enough also has stuff to get Rewards and Bosses. We could move all of that stuff into the WorldService, and if we want to rename it to be like "WorldQueryService" or something, I think that would make sense. It's for looking up locations, items, rewards, and bosses in the world (or worlds if playing a multiworld).
That would leave the main important thing in the ItemService the creation and caching of the two progression states. So maybe that could be renamed "ProgressionService"?
Still a WIP. UI is pretty broken, and I need to do a ton of testing.
Basically, this implements the following:
Todos: