# arturofbc/packrpg architecture

> Architecture diagram of the GitHub repository arturofbc/packrpg, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/arturofbc/packrpg
- Repository: https://github.com/arturofbc/packrpg

## Overview

PackRPG is a Unity action RPG with creature-collection mechanics. The visible runtime workflow is combat: a skill execution consumes mana, finds nearby colliders, and sends hit messages; resource-change events can add or remove a buff through creature stats. The tree also shows level, item, and visual-effect assets, but the supplied excerpts do not establish their runtime wiring. The graph therefore represents those as product content rather than asserting unverified calls.

Main entry points: [`ProximityBuff.cs`](https://github.com/arturofbc/packrpg/blob/develop/ProximityBuff.cs) (Proximity Skill), [`ApplyEffectOnLifeOrManaChange.cs`](https://github.com/arturofbc/packrpg/blob/develop/ApplyEffectOnLifeOrManaChange.cs) (Resource Effect), [`Assets/Levels`](https://github.com/arturofbc/packrpg/tree/develop/Assets/Levels) (Playable Levels), [`Assets/Effects`](https://github.com/arturofbc/packrpg/tree/develop/Assets/Effects) (Visual Effects)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_world["Game World"]
  node_levels["Playable Levels"]
  node_items["Game Items"]
end

subgraph group_combat["Combat"]
  node_creature["Creature"]
  node_proximity_skill["Proximity Skill<br/>[ProximityBuff.cs]"]
  node_skill_base["Skill Base"]
  node_hit_targets["Hit Targets"]
  node_life_mana["Life And Mana"]
  node_resource_effect["Resource Effect"]
  node_creature_stats["Creature Stats"]
  node_buff["Buff"]
end

subgraph group_presentation["Presentation"]
  node_effects["Visual Effects"]
  node_animations["Animations"]
end

node_player(("Player"))
node_physics["Unity Physics"]

node_player -->|"plays in"| node_levels
node_proximity_skill -->|"inherits"| node_skill_base
node_proximity_skill -->|"consumes mana"| node_life_mana
node_proximity_skill -->|"overlaps sphere"| node_physics
node_proximity_skill -->|"sends hit"| node_hit_targets
node_resource_effect -->|"subscribes to changes"| node_life_mana
node_resource_effect -->|"adds or removes buff"| node_creature_stats
node_creature_stats --> node_buff
node_proximity_skill -.->|"instantiates optional effect"| node_effects

click node_levels "https://github.com/arturofbc/packrpg/tree/develop/Assets/Levels"
click node_items "https://github.com/arturofbc/packrpg/tree/develop/Assets/GameItems"
click node_proximity_skill "https://github.com/arturofbc/packrpg/blob/develop/ProximityBuff.cs"
click node_resource_effect "https://github.com/arturofbc/packrpg/blob/develop/ApplyEffectOnLifeOrManaChange.cs"
click node_effects "https://github.com/arturofbc/packrpg/tree/develop/Assets/Effects"
click node_animations "https://github.com/arturofbc/packrpg/tree/develop/Assets/Animations"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_levels,node_items toneBlue
class node_creature,node_proximity_skill,node_skill_base,node_hit_targets,node_life_mana,node_resource_effect,node_creature_stats,node_buff toneAmber
class node_effects,node_animations toneMint
class node_player,node_physics toneIndigo
```

## Components

### Game World

- [Playable Levels](https://github.com/arturofbc/packrpg/tree/develop/Assets/Levels): `Assets/Levels`
- [Game Items](https://github.com/arturofbc/packrpg/tree/develop/Assets/GameItems): `Assets/GameItems`

### Combat

- **Creature**
- [Proximity Skill](https://github.com/arturofbc/packrpg/blob/develop/ProximityBuff.cs): `ProximityBuff.cs`
- **Skill Base**
- **Hit Targets**
- **Life And Mana**
- [Resource Effect](https://github.com/arturofbc/packrpg/blob/develop/ApplyEffectOnLifeOrManaChange.cs): `ApplyEffectOnLifeOrManaChange.cs`
- **Creature Stats**
- **Buff**

### Presentation

- [Visual Effects](https://github.com/arturofbc/packrpg/tree/develop/Assets/Effects): `Assets/Effects`
- [Animations](https://github.com/arturofbc/packrpg/tree/develop/Assets/Animations): `Assets/Animations`

### Other components

- **Player**
- **Unity Physics**

## Connections

- Player → Playable Levels: plays in
- Proximity Skill → Skill Base: inherits
- Proximity Skill → Life And Mana: consumes mana
- Proximity Skill → Unity Physics: overlaps sphere
- Proximity Skill → Hit Targets: sends hit
- Resource Effect → Life And Mana: subscribes to changes
- Resource Effect → Creature Stats: adds or removes buff
- Creature Stats → Buff
- Proximity Skill → Visual Effects: instantiates optional effect
