-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #584 from TheTrackerCouncil/ap-mode-model-updates
Split Tracker Services & Regions
- Loading branch information
Showing
311 changed files
with
10,500 additions
and
16,164 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -347,4 +347,7 @@ healthchecksdb | |
/asar/ | ||
setup/Output/ | ||
patch-config* | ||
**/.DS_Store | ||
**/.DS_Store | ||
**/*.db | ||
**/*.db-shm | ||
**/*.db-wal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
75 changes: 75 additions & 0 deletions
75
src/TrackerCouncil.Smz3.Abstractions/IPlayerProgressionService.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
using TrackerCouncil.Smz3.Data.WorldData; | ||
using TrackerCouncil.Smz3.Data.WorldData.Regions; | ||
using TrackerCouncil.Smz3.Shared.Enums; | ||
|
||
namespace TrackerCouncil.Smz3.Abstractions; | ||
|
||
/// <summary> | ||
/// Defines methods for retrieving the progression and individual tracking statuses | ||
/// </summary> | ||
public interface IPlayerProgressionService | ||
{ | ||
/// <summary> | ||
/// Enumarates all currently tracked items for the local player. | ||
/// </summary> | ||
/// <returns> | ||
/// A collection of items that have been tracked at least once. | ||
/// </returns> | ||
IEnumerable<Item> TrackedItems(); | ||
|
||
/// <summary> | ||
/// Indicates whether an item of the specified type has been tracked | ||
/// for the local player. | ||
/// </summary> | ||
/// <param name="itemType">The type of item to check.</param> | ||
/// <returns> | ||
/// <see langword="true"/> if an item with the specified type has been | ||
/// tracked at least once; otherwise, <see langword="false"/>. | ||
/// </returns> | ||
bool IsTracked(ItemType itemType); | ||
|
||
/// <summary> | ||
/// Enumarates all currently tracked rewards for the local player. | ||
/// </summary> | ||
/// <returns> | ||
/// A collection of reward that have been tracked. | ||
/// </returns> | ||
IEnumerable<Reward> TrackedRewards(); | ||
|
||
/// <summary> | ||
/// Enumarates all currently tracked bosses for the local player. | ||
/// </summary> | ||
/// <returns> | ||
/// A collection of bosses that have been tracked. | ||
/// </returns> | ||
IEnumerable<Boss> TrackedBosses(); | ||
|
||
/// <summary> | ||
/// Retrieves the progression containing all of the tracked items, rewards, and bosses | ||
/// for determining in logic locations | ||
/// </summary> | ||
/// <param name="assumeKeys">If it should be assumed that the player has all keys and keycards</param> | ||
/// <returns></returns> | ||
Progression GetProgression(bool assumeKeys); | ||
|
||
/// <summary> | ||
/// Retrieves the progression containing all of the tracked items, rewards, and bosses | ||
/// for determining in logic locations | ||
/// </summary> | ||
/// <param name="area">The area being looked at to see if keys/keycards should be assumed or not</param> | ||
/// <returns></returns> | ||
Progression GetProgression(IHasLocations area); | ||
|
||
/// <summary> | ||
/// Retrieves the progression containing all of the tracked items, rewards, and bosses | ||
/// for determining in logic locations | ||
/// </summary> | ||
/// <param name="location">The location being looked at to see if keys/keycards should be assumed or not</param> | ||
/// <returns></returns> | ||
Progression GetProgression(Location location); | ||
|
||
/// <summary> | ||
/// Clears cached progression | ||
/// </summary> | ||
void ResetProgression(); | ||
} |
58 changes: 58 additions & 0 deletions
58
src/TrackerCouncil.Smz3.Abstractions/ITrackerBossService.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
using TrackerCouncil.Smz3.Data.Tracking; | ||
using TrackerCouncil.Smz3.Data.WorldData; | ||
using TrackerCouncil.Smz3.Data.WorldData.Regions; | ||
|
||
namespace TrackerCouncil.Smz3.Abstractions; | ||
|
||
public interface ITrackerBossService | ||
{ | ||
public event EventHandler<BossTrackedEventArgs>? BossUpdated; | ||
|
||
/// <summary> | ||
/// Marks a dungeon as cleared and, if possible, tracks the boss reward. | ||
/// </summary> | ||
/// <param name="region">The dungeon that was cleared.</param> | ||
/// <param name="confidence">The speech recognition confidence.</param> | ||
/// <param name="autoTracked">If this was cleared by the auto tracker</param> | ||
/// <param name="admittedGuilt"> | ||
/// <see langword="true"/> if the command implies the boss was killed; | ||
/// <see langword="false"/> if the boss was simply "tracked". | ||
/// </param> | ||
public void MarkBossAsDefeated(IHasBoss region, float? confidence = null, bool autoTracked = false, bool admittedGuilt = false); | ||
|
||
/// <summary> | ||
/// Marks a boss as defeated. | ||
/// </summary> | ||
/// <param name="boss">The boss that was defeated.</param> | ||
/// <param name="admittedGuilt"> | ||
/// <see langword="true"/> if the command implies the boss was killed; | ||
/// <see langword="false"/> if the boss was simply "tracked". | ||
/// </param> | ||
/// <param name="confidence">The speech recognition confidence.</param> | ||
/// <param name="autoTracked">If this was tracked by the auto tracker</param> | ||
public void MarkBossAsDefeated(Boss boss, bool admittedGuilt = true, float? confidence = null, | ||
bool autoTracked = false); | ||
|
||
/// <summary> | ||
/// Un-marks a boss as defeated. | ||
/// </summary> | ||
/// <param name="boss">The boss that should be 'revived'.</param> | ||
/// <param name="confidence">The speech recognition confidence.</param> | ||
public void MarkBossAsNotDefeated(Boss boss, float? confidence = null); | ||
|
||
/// <summary> | ||
/// Un-marks a dungeon as cleared and, if possible, untracks the boss | ||
/// reward. | ||
/// </summary> | ||
/// <param name="region">The dungeon that should be un-cleared.</param> | ||
/// <param name="confidence">The speech recognition confidence.</param> | ||
public void MarkBossAsNotDefeated(IHasBoss region, float? confidence = null); | ||
|
||
public void UpdateAccessibility(Progression? actualProgression = null, Progression? withKeysProgression = null); | ||
|
||
public void UpdateAccessibility(Boss boss, Progression? actualProgression = null, Progression? withKeysProgression = null); | ||
|
||
public void UpdateAccessibility(IHasBoss region, Progression? actualProgression = null, Progression? withKeysProgression = null); | ||
|
||
|
||
} |
Oops, something went wrong.