How whocares218/fm-27 works
This is an Android football-management simulator. The manager starts a career, manages a club and squad, makes tactical and transfer decisions, and advances matches and seasons while the game updates competitions and club finances; saved career state supports continued play. The map preserves the major game systems visible in the source tree. Several screens and engine modules are unsampled, so links without direct evidence are omitted or shown as unverified rather than treated as confirmed calls.
Main entry points: SeasonEngine.kt Season progression · FootballManagerApp.kt App navigation · MatchEngine.kt Match simulation · GameViewModel.kt Game coordinator
Components 21
App and presentation
- App navigation
app/src/main/java/com/footymanager/simulator/ui/FootballManagerApp.kt - Career screens
app/src/main/java/com/footymanager/simulator/ui/screens/NewCareerScreen.kt - Match screens
app/src/main/java/com/footymanager/simulator/ui/screens/MatchDayScreen.kt - Club screens
app/src/main/java/com/footymanager/simulator/ui/screens/SquadScreen.kt
Career and persistence
- Game coordinator
app/src/main/java/com/footymanager/simulator/viewmodel/GameViewModel.kt - Career state
app/src/main/java/com/footymanager/simulator/domain/model/Career.kt - Save repository
app/src/main/java/com/footymanager/simulator/domain/data/SaveRepository.kt - Season calendar
app/src/main/java/com/footymanager/simulator/domain/data/SeasonCalendar.kt
Football simulation
- Season progression
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Match simulation
app/src/main/java/com/footymanager/simulator/domain/engine/MatchEngine.kt - Live match
app/src/main/java/com/footymanager/simulator/domain/engine/ProgressiveMatchEngine.kt - European competitions
app/src/main/java/com/footymanager/simulator/domain/engine/ChampionsLeagueEngine.kt - Team strength
app/src/main/java/com/footymanager/simulator/domain/engine/TeamStrength.kt
Club management
- Club database
app/src/main/java/com/footymanager/simulator/domain/data/ClubDatabase.kt - Transfers
app/src/main/java/com/footymanager/simulator/domain/engine/TransferEngine.kt - Negotiations
app/src/main/java/com/footymanager/simulator/domain/engine/NegotiationEngine.kt - Club finances
app/src/main/java/com/footymanager/simulator/domain/engine/FinanceEngine.kt - Club AI
app/src/main/java/com/footymanager/simulator/domain/engine/AiManager.kt - Tactics and formations
app/src/main/java/com/footymanager/simulator/domain/model/Tactics.kt - Player model
app/src/main/java/com/footymanager/simulator/domain/model/Player.kt
Other components
- Manager
Connections 26
- Manager → App navigation: uses
- App navigation → Game coordinator: coordinates
app/src/main/java/com/footymanager/simulator/MainActivity.kt - App navigation → Career screens: routes to
app/src/main/java/com/footymanager/simulator/ui/FootballManagerApp.kt - App navigation → Match screens: routes to
app/src/main/java/com/footymanager/simulator/ui/FootballManagerApp.kt - App navigation → Club screens: routes to
app/src/main/java/com/footymanager/simulator/ui/FootballManagerApp.kt - App navigation → Game coordinator: starts career
app/src/main/java/com/footymanager/simulator/ui/FootballManagerApp.kt - Game coordinator → Career state: manages
app/src/main/java/com/footymanager/simulator/viewmodel/GameViewModel.kt - Game coordinator → Season progression: advances
app/src/main/java/com/footymanager/simulator/viewmodel/GameViewModel.kt - Game coordinator → Save repository: persists
app/src/main/java/com/footymanager/simulator/viewmodel/GameViewModel.kt - Save repository → Career state: loads and saves
app/src/main/java/com/footymanager/simulator/domain/data/SaveRepository.kt - Season progression → Season calendar: consults
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Season progression → Match simulation: simulates
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Season progression → Club AI: runs
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Season progression → European competitions: updates
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Season progression → Club finances: updates
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Season progression → Transfers: runs
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt - Live match → Match simulation: uses
app/src/main/java/com/footymanager/simulator/domain/engine/ProgressiveMatchEngine.kt - Match simulation → Team strength: uses
app/src/main/java/com/footymanager/simulator/domain/engine/MatchEngine.kt - Match simulation → European competitions: uses
app/src/main/java/com/footymanager/simulator/domain/engine/MatchEngine.kt - Match simulation → Tactics and formations: reads
app/src/main/java/com/footymanager/simulator/domain/engine/MatchEngine.kt - Match simulation → Player model: simulates with
app/src/main/java/com/footymanager/simulator/domain/engine/MatchEngine.kt - Club database → Career state: provides clubs
app/src/main/java/com/footymanager/simulator/domain/data/ClubDatabase.kt - Negotiations → Transfers: delegates to
app/src/main/java/com/footymanager/simulator/domain/engine/NegotiationEngine.kt - Transfers → Club AI: uses
app/src/main/java/com/footymanager/simulator/domain/engine/TransferEngine.kt - Transfers → Club finances: uses
app/src/main/java/com/footymanager/simulator/domain/engine/TransferEngine.kt - Season progression → Career state: updates
app/src/main/java/com/footymanager/simulator/domain/engine/SeasonEngine.kt