std-score-board
Level: Atom | Entity: ScoreBoard | Persistence: runtime
1 states, 4 events, 4 transitions
Live Preview
schema.orb
{
"name": "ScoreBoardOrbital",
"orbitals": [
{
"name": "ScoreBoardOrbital",
"entity": {
"name": "ScoreBoard",
"persistence": "runtime",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "name",
"type": "string"
},
{
"name": "description",
"type": "string"
},
{
"name": "status",
"type": "string",
"default": "active",
"values": [
"active",
"inactive",
"pending"
]
},
{
"name": "createdAt",
"type": "string"
},
{
"name": "score",
"type": "number",
"default": 0
},
{
"name": "highScore",
"type": "number",
"default": 0
},
{
"name": "combo",
"type": "number",
"default": 0
},
{
"name": "multiplier",
"type": "number",
"default": 1
},
{
"name": "level",
"type": "number",
"default": 1
}
]
},
"traits": [
{
"name": "ScoreBoardScoreBoard",
"linkedEntity": "ScoreBoard",
"category": "interaction",
"stateMachine": {
"states": [
{
"name": "idle",
"isInitial": true
}
],
"events": [
{
"key": "INIT",
"name": "Initialize"
},
{
"key": "ADD_SCORE",
"name": "Add Score",
"payload": [
{
"name": "points",
"type": "number",
"required": true
}
]
},
{
"key": "COMBO",
"name": "Combo",
"payload": [
{
"name": "multiplier",
"type": "number",
"required": true
}
]
},
{
"key": "RESET",
"name": "Reset"
}
],
"transitions": [
{
"from": "idle",
"to": "idle",
"event": "INIT",
"effects": [
[
"fetch",
"ScoreBoard"
],
[
"render-ui",
"main",
{
"type": "score-board",
"score": "@entity.score",
"highScore": "@entity.highScore",
"combo": "@entity.combo",
"multiplier": "@entity.multiplier",
"level": "@entity.level"
}
]
]
},
{
"from": "idle",
"to": "idle",
"event": "ADD_SCORE",
"effects": [
[
"set",
"@entity.score",
[
"+",
"@entity.score",
"@payload.points"
]
],
[
"set",
"@entity.combo",
[
"+",
"@entity.combo",
1
]
],
[
"render-ui",
"main",
{
"type": "score-board",
"score": "@entity.score",
"highScore": "@entity.highScore",
"combo": "@entity.combo",
"multiplier": "@entity.multiplier",
"level": "@entity.level"
}
]
]
},
{
"from": "idle",
"to": "idle",
"event": "COMBO",
"effects": [
[
"set",
"@entity.multiplier",
"@payload.multiplier"
],
[
"render-ui",
"main",
{
"type": "score-board",
"score": "@entity.score",
"highScore": "@entity.highScore",
"combo": "@entity.combo",
"multiplier": "@entity.multiplier",
"level": "@entity.level"
}
]
]
},
{
"from": "idle",
"to": "idle",
"event": "RESET",
"effects": [
[
"set",
"@entity.score",
0
],
[
"set",
"@entity.combo",
0
],
[
"set",
"@entity.multiplier",
1
],
[
"render-ui",
"main",
{
"type": "score-board",
"score": "@entity.score",
"highScore": "@entity.highScore",
"combo": "@entity.combo",
"multiplier": "@entity.multiplier",
"level": "@entity.level"
}
]
]
}
]
}
}
],
"pages": [
{
"name": "ScoreBoardScorePage",
"path": "/scoreboards",
"traits": [
{
"ref": "ScoreBoardScoreBoard"
}
]
}
]
}
],
"description": "Score display atom using the `score-board` pattern. Shows score, high score, combo, multiplier, level."
}
Loading preview...
Orbital Visualization
Loading visualization...
Entity Fields
| Field | Type | Default |
|---|---|---|
| id | string | - |
| name | string | - |
| description | string | - |
| status | string | "active" |
| createdAt | string | - |
| score | number | 0 |
| highScore | number | 0 |
| combo | number | 0 |
| multiplier | number | 1 |
| level | number | 1 |
States
| State | Type |
|---|---|
| idle | Initial |
Events
| Event | Payload |
|---|---|
| INIT | - |
| ADD_SCORE | points: number |
| COMBO | multiplier: number |
| RESET | - |
Transitions
| From | Event | To | Effects |
|---|---|---|---|
| idle | INIT | idle | 2 effects |
| idle | ADD_SCORE | idle | 3 effects |
| idle | COMBO | idle | 2 effects |
| idle | RESET | idle | 4 effects |