82 lines
1.6 KiB
TypeScript
82 lines
1.6 KiB
TypeScript
/**
|
|
* Game state enumeration.
|
|
*/
|
|
export enum GameState {
|
|
/** Initial start screen */
|
|
START = 'start',
|
|
/** Active gameplay */
|
|
PLAYING = 'playing',
|
|
/** Game paused */
|
|
PAUSED = 'paused',
|
|
/** Player death screen */
|
|
GAME_OVER = 'gameOver',
|
|
}
|
|
|
|
/**
|
|
* Component type identifiers.
|
|
*/
|
|
export enum ComponentType {
|
|
POSITION = 'Position',
|
|
VELOCITY = 'Velocity',
|
|
SPRITE = 'Sprite',
|
|
HEALTH = 'Health',
|
|
COMBAT = 'Combat',
|
|
AI = 'AI',
|
|
EVOLUTION = 'Evolution',
|
|
STATS = 'Stats',
|
|
SKILLS = 'Skills',
|
|
SKILL_PROGRESS = 'SkillProgress',
|
|
ABSORBABLE = 'Absorbable',
|
|
STEALTH = 'Stealth',
|
|
INTENT = 'Intent',
|
|
INVENTORY = 'Inventory',
|
|
}
|
|
|
|
/**
|
|
* Entity type identifiers for sprites and behaviors.
|
|
*/
|
|
export enum EntityType {
|
|
SLIME = 'slime',
|
|
HUMANOID = 'humanoid',
|
|
BEAST = 'beast',
|
|
ELEMENTAL = 'elemental',
|
|
PROJECTILE = 'projectile',
|
|
}
|
|
|
|
/**
|
|
* Animation states for sprites.
|
|
*/
|
|
export enum AnimationState {
|
|
IDLE = 'idle',
|
|
WALK = 'walk',
|
|
}
|
|
|
|
/**
|
|
* Visual effect types.
|
|
*/
|
|
export enum VFXType {
|
|
IMPACT = 'impact',
|
|
ABSORPTION = 'absorption',
|
|
}
|
|
|
|
/**
|
|
* System name identifiers.
|
|
*/
|
|
export enum SystemName {
|
|
MENU = 'MenuSystem',
|
|
UI = 'UISystem',
|
|
PLAYER_CONTROLLER = 'PlayerControllerSystem',
|
|
ABSORPTION = 'AbsorptionSystem',
|
|
COMBAT = 'CombatSystem',
|
|
PROJECTILE = 'ProjectileSystem',
|
|
VFX = 'VFXSystem',
|
|
MOVEMENT = 'MovementSystem',
|
|
AI = 'AISystem',
|
|
DEATH = 'DeathSystem',
|
|
RENDER = 'RenderSystem',
|
|
INPUT = 'InputSystem',
|
|
SKILL_EFFECT = 'SkillEffectSystem',
|
|
SKILL = 'SkillSystem',
|
|
STEALTH = 'StealthSystem',
|
|
HEALTH_REGEN = 'HealthRegenerationSystem',
|
|
}
|