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)");
classDiagram
class UpgradesData {
-categoryToUpgradesDictionary : Dictionary~String#44; Array~Upgrade~~
-namesToUpgrades : Dictionary~String#44; Upgrade~
+getUpgrades(by category) -> Array~Upgrades~
+getUpgrade(by name) -> Upgrade
}
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~
+getUpgrades(by category) -> Array~Upgrades~
+ static func getUpgrades(upgradeCategory: String) -> Array~Upgrade~
+getUpgrade(by name) -> Upgrade
}
class UpgradeUtilityNew {
- upgradesData : UpgradesData
+ static func getCategory(upgrade : String) -> String?
+ static func getJSONForUpgrade(forType: String, inDirectory: 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 buildAllUpgrades(...) -> Array~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()
PilotStateService.createPilotState.buildPilotStateData() -> UpgradeUtility.buildAllUpgrades()
PilotStateService.createPilotState_throws.buildPilotStateData() -> UpgradeUtility.buildAllUpgrades()
SquadData.getShip -> UpgradeUtility.buildAllUpgrades()
global_getShip() -> UpgradeUtility.buildAllUpgrades()