How destroysera/firstgame_coincollectgame works
This is an Unreal Engine 5 C++ coin-collection game: the documented player loop is move and jump, collect coins, accumulate score before the timer expires, then reach clear or game-over and optionally restart. The tree also contains substantial combat, platforming, and side-scrolling gameplay variants, so they are represented as separate feature branches. The README documents the coin-game behavior; source-index references support only the shown code relationships, and unsampled variant behavior is not inferred as a call chain.
Main entry points: CombatDamageable.h Combat Interfaces · MyFirstGameGameMode.cpp Score and Timer · SideScrollingCharacter.cpp Side-Scrolling Character · CombatCharacter.cpp Combat Character
Components 22
Coin Game
- Movement and Collection
Source/MyFirstGame/MyFirstGameCharacter.cpp - Coin Actor
Source/MyFirstGame/Coin.cpp - Score and Timer
Source/MyFirstGame/MyFirstGameGameMode.cpp - Score and Time HUD
Source/MyFirstGame/MyHUD.cpp - Input Controller
Source/MyFirstGame/MyFirstGamePlayerController.cpp
Combat Variant
- Combat Character
Source/MyFirstGame/Variant_Combat/CombatCharacter.cpp - Combat Controller
Source/MyFirstGame/Variant_Combat/CombatPlayerController.cpp - Combat Enemy
Source/MyFirstGame/Variant_Combat/AI/CombatEnemy.h - Combat AI
Source/MyFirstGame/Variant_Combat/AI/CombatAIController.cpp - Combat Interfaces
Source/MyFirstGame/Variant_Combat/Interfaces/CombatDamageable.h - Damageable Box
Source/MyFirstGame/Variant_Combat/Gameplay/CombatDamageableBox.cpp - Attack Notifies
Source/MyFirstGame/Variant_Combat/Animation/AnimNotify_DoAttackTrace.cpp
Platforming Variant
- Platforming Character
Source/MyFirstGame/Variant_Platforming/PlatformingCharacter.cpp - Platforming Controller
Source/MyFirstGame/Variant_Platforming/PlatformingPlayerController.cpp - Dash Notify
Source/MyFirstGame/Variant_Platforming/Animation/AnimNotify_EndDash.cpp
Side-Scrolling Variant
- Side-Scrolling Character
Source/MyFirstGame/Variant_SideScrolling/SideScrollingCharacter.cpp - Side-Scrolling Controller
Source/MyFirstGame/Variant_SideScrolling/SideScrollingPlayerController.cpp - Side-Scrolling Camera
Source/MyFirstGame/Variant_SideScrolling/SideScrollingCameraManager.cpp - Side-Scrolling Objects
Source/MyFirstGame/Variant_SideScrolling/Gameplay/SideScrollingSoftPlatform.cpp - Interactable Interface
Source/MyFirstGame/Variant_SideScrolling/Interfaces/SideScrollingInteractable.h - Side-Scrolling UI
Source/MyFirstGame/Variant_SideScrolling/UI/SideScrollingUI.cpp
Other components
- Player
Connections 17
- Player → Movement and Collection: moves and jumps
- Player → Coin Actor: collects
- Coin Actor → Score and Timer: updates score
- Score and Timer → Score and Time HUD: shows score and time
- Player → Input Controller: uses controls
- Player → Score and Timer: restarts
- Combat Character → Combat Interfaces: implements
- Combat Enemy → Combat Interfaces: implements
Source/MyFirstGame/Variant_Combat/AI/CombatEnemy.h - Damageable Box → Combat Interfaces: implements
- Combat Character → Combat Controller: uses controller
Source/MyFirstGame/Variant_Combat/CombatCharacter.cpp - Attack Notifies → Combat Interfaces: calls attack interface
- Platforming Controller → Platforming Character: spawns and possesses
Source/MyFirstGame/Variant_Platforming/PlatformingPlayerController.cpp - Dash Notify → Platforming Character: references character
Source/MyFirstGame/Variant_Platforming/Animation/AnimNotify_EndDash.cpp - Side-Scrolling Controller → Side-Scrolling Character: spawns and possesses
Source/MyFirstGame/Variant_SideScrolling/SideScrollingPlayerController.cpp - Side-Scrolling Camera → Side-Scrolling Character: tracks pawn
- Side-Scrolling Objects → Side-Scrolling Character: references character
Source/MyFirstGame/Variant_SideScrolling/Gameplay/SideScrollingSoftPlatform.cpp - Side-Scrolling Objects → Interactable Interface: references interface