Just a test of mermaid diagram syntax
Just a test of mermaid diagram syntax
flowchart TD
xwsImportReducer.importXWS --> PilotStateService(PilotStateService.createPilotState_throws) --> buildPilotStateData --> UpgradeUtility.buildAllUpgrades("UpgradeUtility.buildAllUpgrades(allUpgrades)");
buildPilotStateData --> calculateActiveHull("calculateActiveTest(hull)");
buildPilotStateData --> calculateActiveShield("calculateActiveTest(shiled)");
buildPilotStateData --> |.shield| calculateActive(calculateActive);
buildPilotStateData --> calculate_force_active(calculate_force_active);
buildPilotStateData --> ship.pilotCharge;
buildPilotStateData --> buildUpgradeStates("buildUpgradeStates(allUpgrades)");
Current UpgradeUtility
classDiagram
class UpgradeUtility {
- enum upgradeCategories : String, CaseIterable
- var updgradesByCategory : Dictionary~String#44; Array~String~~
- var upgradesByName: Dictionary~String#44; String~
+ static func getCategory(upgrade : String) -> String?
+ static func buildUpgradesDictionary() -> Dictionary~String#44; Arrary~String~~
+ static func buildUpgradesByNameDictionary() -> Dictionary~String#44; String~
+ func buildUpgradesByUpgradeNames(upgradeNames: Array~String~) -> Array~Upgrade~
+ static func getJSONForUpgrade(forType: String, inDirectory: String) -> String
+ static func getUpgrades(upgradeCategory: String) -> Array~Upgrade~
+ static func buildAllUpgrades(...) -> Array~Upgrade~
+ static func buildAllUpgrades_throws(upgrades: SquadPilotUpgrade) throws -> Array~Upgrade~
+ static func getCategory(for: String) -> String
}
New UpgradeUtility
classDiagram
class UpgradesData {
- enum upgradeCategories : String, CaseIterable
- categoryToUpgradesDictionary : Dictionary~String#44; Array~Upgrade~~
-namesToUpgrades : Dictionary~String#44; Upgrade~
+ func getUpgrades(upgradeCategory: String) -> Array~Upgrade~
+ func getUpgrade(upgradeName: String) -> Upgrade?
+ func buildCategoryToUpgradesDictionary()
}
class UpgradeUtilityNew {
+ init()
- upgradesData : UpgradesData
+ static func getCategory(upgrade : String) -> String?
+ static func getUpgrades(upgradeCategory : String) -> Array~Upgrade~
+ func getUpgradesForSquadPilotUpgrades(upgrades: SquadPilotUpgrade) -> Array~Upgrade~
+ func getUpgradesForNames(upgradeNames: [String]) -> Array~Upgrade~
- func getSquadPilotUpgradesFromUpgradesData(_ upgrades: SquadPilotUpgrade) -> [Upgrade]
}
class CacheService {
- func getShipV2.getPilot.getUpgradesFromCache() -> [Upgrade]
}
class PilotStateService {
+ func createPilotState.buildPilotStateData()
+ func createPilotState_throws.buildPilotStateData()
}
class SquadData {
+ func getShip()
}
class global_getShip {
+ global_getShip()
}
UpgradeUtilityNew --> UpgradesData
CacheService --> UpgradeUtilityNew
PilotStateService --> UpgradeUtilityNew
SquadData --> UpgradeUtilityNew
global_getShip --> UpgradeUtilityNew
UpgradeUtility Dependencies
CacheService.getShipV2.getPilot.getUpgradesFromCache() -> UpgradeUtiliy.buildAllUpgrades() CacheService.getShipV2.getPilot.getUpgradesFromCache() -> UpgradeUtility.getUpgrades() PilotStateService.createPilotState.buildPilotStateData() -> UpgradeUtility.buildAllUpgrades() PilotStateService.createPilotState_throws.buildPilotStateData() -> UpgradeUtility.buildAllUpgrades() SquadData.getShip -> UpgradeUtility.buildAllUpgrades() global_getShip() -> UpgradeUtility.buildAllUpgrades()
UpgradeUtiltyNew Dependencies
CacheService.getShipV2.getPilot.getUpgradesFromCache() -> UpgradeUtiliy.getUpgradesForSquadPilotUpgrade() CacheService.getShipV2.getPilot.getUpgradesFromCache() -> UpgradeUtility.getUpgrades() PilotStateService.createPilotState.buildPilotStateData() -> UpgradeUtility.getUpgradesForSquadPilotUpgrade() PilotStateService.createPilotState_throws.buildPilotStateData() -> UpgradeUtility.getUpgradesForSquadPilotUpgrade() SquadData.getShip -> UpgradeUtility.getUpgradesForSquadPilotUpgrade() global_getShip() -> UpgradeUtility.getUpgradesForSquadPilotUpgrade()
flowchart TD
importXWS -->|&squad, squadData| B{createPilotState_throws}
B -->|&squad| C[updateSquadPilotsWithStandardLoadoutUpgrades]
C -->|&squad, squadData| D[createAndSavePilotStateData]
B --> importXWS
importXWS -->|return| E["Just#60;MyAppAction#62;(.xwsImport(.importSuccess))"]
#Sub Graphs
flowchart TB
a1-->c1
subgraph A
a1-->a2
end
subgraph B
b1-->b2
end
subgraph C
c1-->c2
end