No description
Find a file
2026-06-02 03:57:02 -03:00
Editor Initial commit 2021-09-29 16:59:46 -03:00
Runtime Update Stats with Outpost Gamma versions 2026-06-02 03:56:10 -03:00
Tests Initial commit 2021-09-29 16:59:46 -03:00
.gitignore Initial commit 2021-09-29 16:59:46 -03:00
ChangeLog.md Bump version to 0.1.3 2026-06-02 03:57:02 -03:00
ChangeLog.md.meta Initial commit 2021-09-29 16:59:46 -03:00
Editor.meta Initial commit 2021-09-29 16:59:46 -03:00
package.json Bump version to 0.1.3 2026-06-02 03:57:02 -03:00
package.json.meta Added ncalc dependency 2021-10-26 16:19:21 -03:00
Readme.md Bump version to 0.1.3 2026-06-02 03:57:02 -03:00
Readme.md.meta Initial commit 2021-09-29 16:59:46 -03:00
Runtime.meta Initial commit 2021-09-29 16:59:46 -03:00
Tests.meta Initial commit 2021-09-29 16:59:46 -03:00

📦 KairoEngine.Stats v0.1.3

The Stats system adds tools for creating lists of linked smart values. Stats can be used for many ends like an RPG rule system, weapon statistics or scoreboards.

Stats store a number or resolve to an equation that can access values from other stats. A stat holds data for current, initial, minimum and maximum values. It also holds a list of modifiers that can change any of the stored value. Stats are stored in controllers that also hold.

Stat Controllers store and manage lists for stats, traits and status effects. A Stat Controller can be addd as variable to any class in Unity and will display all stored stats correctly in the editor and handle them in any context.

Traits are bundles of stat modifiers for different stats. They can be added on the editor or at run time and usualy aren't removed.

Status Effects also add stat modifiers to different stats and handles other functions like timeout, stacking and effects.

🔧Changes in v0.1.3

  • Updated with Outpost Gamma versions of GameActions, StatusEffects, and asmdef

🛑Required packages

  • KairoEngine.Core
  • UniRX
  • Sirenix.OdinInspector

📄Namespaces

  • KairoEngine.Stats
  • KairoEngine.Stats.EditorTests

🔷Components

  • StatComponent A generic component that holds stats data.

✔Getting Started

name: hitpoints
value: 75
max: max_hitpoints
name: max_hitpoints
value: (strength + endurance) * 10 = 100
max: 10000
name: strength
value: 4
name: endurance
value: 6

🧰Functions

🎈Back Log

  • Create StatTemplate class

  • Create StatGroup class

  • Create StatsController class

  • Create Stat class

  • Stats Controller tests

  • Create StatModifier and StatModifiersController

  • Extend Stat Modifier system to work for min and max values

  • Functions for adding and removing stat modifiers

  • Tests for stat modifiers

  • Create StatusEffect and StatusEffectsController

  • Create Trait and TraitsController

  • Stat Controller events

  • Draw StatTemplate Icon

  • Draw StatsConponent Icon

  • Draw StatGroup Icon

  • Draw StatusEffect Icon

  • Function to duplicate StatController data

  • Random value equation function

  • Show and hide stats