WECS
Contents:
manual
Specs
Warning
What is an ECS?
WECS’ ECS definition
API
Deferred
Component
addition / removal
Undocumented features
Design questions and arguments
Implementational detail: Optimizing type filtering performance
Components referencing each other
Observer pattern
Unique values
Implementational detail: Size of GUIDs (TL;DR: 64 bit is the right answer)
Implementational detail: Systems threading
Note: Component Inheritance Considered Dangerous
Composing templates for generic entities
Sources
TODO
Lukewarm
Icebox
wecs package
wecs.mechanics package
wecs.mechanics.clock module
wecs.panda3d package
wecs.panda3d.ai module
wecs.panda3d.animation module
wecs.panda3d.aspects module
wecs.panda3d.camera module
wecs.panda3d.character module
wecs.panda3d.clock module
wecs.panda3d.core module
wecs.panda3d.input module
wecs.panda3d.model module
wecs.aspects module
wecs.boilerplate module
wecs.cefconsole module
wecs.core module
wecs.equipment module
wecs.graphviz module
wecs.inventory module
wecs.repl module
wecs.rooms module
WECS
Docs
»
Index
Edit on GitHub
Index
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
L
|
M
|
N
|
O
|
P
|
R
|
S
|
T
|
U
|
V
|
W
A
acceleration (wecs.panda3d.character.InertialMovement attribute)
Actor (class in wecs.panda3d.model)
ActorHasNoInventory
ActorNotInRoom
add() (wecs.aspects.Aspect method)
add_component() (wecs.core.Entity method)
add_shape() (wecs.panda3d.character.CollisionSystem method)
add_system() (wecs.core.World method)
(wecs.panda3d.core.ECSShowBase method)
add_systems() (in module wecs.boilerplate)
anchor_name (wecs.panda3d.camera.MountedCameraMode attribute)
and_filter() (in module wecs.core)
AndFilter (class in wecs.core)
Animate (class in wecs.panda3d.animation)
animate() (wecs.panda3d.model.UpdateSprites method)
AnimateCharacter (class in wecs.panda3d.animation)
Animation (class in wecs.panda3d.animation)
animation (wecs.panda3d.model.SpriteAnimation attribute)
Aspect (class in wecs.aspects)
B
backwards_multiplier (wecs.panda3d.character.WalkingMovement attribute)
Billboard (class in wecs.panda3d.model)
body_width (wecs.panda3d.camera.CollisionZoom attribute)
BrownianWalkerAI (class in wecs.panda3d.ai)
Bumping (class in wecs.panda3d.character)
BumpingMovement (class in wecs.panda3d.character)
C
Camera (class in wecs.panda3d.camera)
can_drop() (in module wecs.inventory)
can_equip() (in module wecs.equipment)
can_take() (in module wecs.inventory)
can_unequip() (in module wecs.equipment)
ChangeRoom (class in wecs.rooms)
ChangeRoomAction (class in wecs.rooms)
CharacterController (class in wecs.panda3d.character)
clamp_pitch (wecs.panda3d.character.CharacterController attribute)
Clock (class in wecs.mechanics.clock)
clock (wecs.mechanics.clock.Clock attribute)
CollidableGeometry (class in wecs.panda3d.model)
collide_mask (wecs.panda3d.model.CollidableGeometry attribute)
CollideCamerasWithTerrain (class in wecs.panda3d.camera)
CollisionSystem (class in wecs.panda3d.character)
CollisionZoom (class in wecs.panda3d.camera)
Component (class in wecs.core)
ConstantCharacterAI (class in wecs.panda3d.ai)
create_entity() (wecs.core.World method)
crouch_drain (wecs.panda3d.character.Stamina attribute)
crouches (wecs.panda3d.ai.ConstantCharacterAI attribute)
(wecs.panda3d.character.CharacterController attribute)
CrouchingMovement (class in wecs.panda3d.character)
current (wecs.panda3d.character.Stamina attribute)
D
debug (wecs.panda3d.character.BumpingMovement attribute)
(wecs.panda3d.character.FallingMovement attribute)
destroy() (wecs.core.Entity method)
destroy_entity() (wecs.core.System method)
(wecs.core.World method)
(wecs.panda3d.camera.PrepareCameras method)
(wecs.panda3d.character.Inertiing method)
(wecs.panda3d.model.ManageGeometry method)
(wecs.panda3d.model.SetUpPhysics method)
DeterminePhysicsTimestep (class in wecs.panda3d.model)
DetermineTimestep (class in wecs.mechanics.clock)
distance (wecs.panda3d.camera.ObjectCentricCameraMode attribute)
DoPhysics (class in wecs.panda3d.model)
draw_graph() (in module wecs.graphviz)
drop() (in module wecs.inventory)
drop_component_updates() (wecs.core.Entity method)
DropAction (class in wecs.inventory)
E
ECSShowBase (class in wecs.panda3d.core)
Entity (class in wecs.core)
entity_filters (wecs.equipment.EquipOrUnequip attribute)
(wecs.inventory.TakeOrDrop attribute)
(wecs.mechanics.clock.DetermineTimestep attribute)
(wecs.panda3d.ai.Think attribute)
(wecs.panda3d.animation.Animate attribute)
(wecs.panda3d.animation.AnimateCharacter attribute)
(wecs.panda3d.camera.CollideCamerasWithTerrain attribute)
(wecs.panda3d.camera.PrepareCameras attribute)
(wecs.panda3d.camera.ReorientObjectCentricCamera attribute)
(wecs.panda3d.camera.ResetMountedCamera attribute)
(wecs.panda3d.character.Bumping attribute)
(wecs.panda3d.character.ExecuteMovement attribute)
(wecs.panda3d.character.FaceMovement attribute)
(wecs.panda3d.character.Falling attribute)
(wecs.panda3d.character.Floating attribute)
(wecs.panda3d.character.Inertiing attribute)
(wecs.panda3d.character.Jumping attribute)
(wecs.panda3d.character.TurningBackToCamera attribute)
(wecs.panda3d.character.UpdateCharacter attribute)
(wecs.panda3d.character.UpdateStamina attribute)
(wecs.panda3d.character.Walking attribute)
(wecs.panda3d.model.DeterminePhysicsTimestep attribute)
(wecs.panda3d.model.DoPhysics attribute)
(wecs.panda3d.model.ManageGeometry attribute)
(wecs.panda3d.model.SetUpPhysics attribute)
(wecs.panda3d.model.SetupModels attribute)
(wecs.panda3d.model.UpdateBillboards attribute)
(wecs.panda3d.model.UpdateSprites attribute)
(wecs.rooms.ChangeRoom attribute)
(wecs.rooms.PerceiveRoom attribute)
EntityNotInARoom
equip() (in module wecs.equipment)
EquipAction (class in wecs.equipment)
Equipment (class in wecs.equipment)
EquipOrUnequip (class in wecs.equipment)
Equippable (class in wecs.equipment)
ExecuteMovement (class in wecs.panda3d.character)
F
FaceMovement (class in wecs.panda3d.character)
FacingMovement (class in wecs.panda3d.character)
factory() (in module wecs.aspects)
fall_and_land() (wecs.panda3d.character.Falling method)
Falling (class in wecs.panda3d.character)
FallingMovement (class in wecs.panda3d.character)
file (wecs.panda3d.model.Actor attribute)
(wecs.panda3d.model.Geometry attribute)
Filter (class in wecs.core)
FlattenStrong (class in wecs.panda3d.model)
Floating (class in wecs.panda3d.character)
FloatingMovement (class in wecs.panda3d.character)
flush_component_updates() (wecs.core.World method)
focus_height (wecs.panda3d.camera.ObjectCentricCameraMode attribute)
frame (wecs.panda3d.model.SpriteAnimation attribute)
(wecs.panda3d.model.SpriteSheet attribute)
frame_time (wecs.mechanics.clock.Clock attribute)
framerate (wecs.panda3d.animation.Animation attribute)
(wecs.panda3d.model.SpriteAnimation attribute)
G
game_time (wecs.mechanics.clock.Clock attribute)
Geometry (class in wecs.panda3d.model)
get_component() (wecs.core.Entity method)
get_component_dependencies() (wecs.core.Filter method)
(wecs.core.System method)
get_components() (wecs.core.Entity method)
get_dropped_components_by_type() (wecs.core.Entity method)
get_entity() (wecs.core.World method)
get_system() (wecs.core.World method)
get_system_component_dependencies() (wecs.core.World method)
get_systems() (wecs.core.World method)
ground_contact (wecs.panda3d.character.FallingMovement attribute)
H
has_component() (wecs.core.Entity method)
has_system() (wecs.core.World method)
heading (wecs.panda3d.ai.BrownianWalkerAI attribute)
(wecs.panda3d.ai.ConstantCharacterAI attribute)
(wecs.panda3d.camera.ObjectCentricCameraMode attribute)
(wecs.panda3d.character.CharacterController attribute)
heading_jitter (wecs.panda3d.ai.BrownianWalkerAI attribute)
height (wecs.panda3d.camera.ObjectCentricCameraMode attribute)
(wecs.panda3d.character.CrouchingMovement attribute)
I
ignore_z (wecs.panda3d.character.InertialMovement attribute)
image_name (wecs.panda3d.model.Sprite attribute)
in_entity() (wecs.aspects.Aspect method)
InertialMovement (class in wecs.panda3d.character)
Inertiing (class in wecs.panda3d.character)
init_entity() (wecs.core.System method)
(wecs.panda3d.camera.CollideCamerasWithTerrain method)
(wecs.panda3d.camera.PrepareCameras method)
(wecs.panda3d.character.Bumping method)
(wecs.panda3d.character.Falling method)
(wecs.panda3d.character.Inertiing method)
(wecs.panda3d.model.ManageGeometry method)
(wecs.panda3d.model.SetUpPhysics method)
(wecs.panda3d.model.SetupModels method)
(wecs.panda3d.model.UpdateBillboards method)
(wecs.panda3d.model.UpdateSprites method)
init_sensors() (wecs.panda3d.character.CollisionSystem method)
Input (class in wecs.panda3d.input)
input_context (wecs.panda3d.camera.ReorientObjectCentricCamera attribute)
(wecs.panda3d.character.UpdateCharacter attribute)
(wecs.panda3d.clock.UpdateClocks attribute)
Interpreter (class in wecs.repl)
Inventory (class in wecs.inventory)
is_equippable_in_slot() (in module wecs.equipment)
is_in_inventory() (in module wecs.inventory)
is_in_room() (in module wecs.rooms)
ItemNotInARoom
ItemNotInInventory
ItemNotInRoom
J
jump_drain (wecs.panda3d.character.Stamina attribute)
Jumping (class in wecs.panda3d.character)
JumpingMovement (class in wecs.panda3d.character)
jumps (wecs.panda3d.ai.ConstantCharacterAI attribute)
(wecs.panda3d.character.CharacterController attribute)
L
loop (wecs.panda3d.model.SpriteAnimation attribute)
M
ManageGeometry (class in wecs.panda3d.model)
max_heading (wecs.panda3d.character.CharacterController attribute)
max_pitch (wecs.panda3d.camera.ObjectCentricCameraMode attribute)
(wecs.panda3d.character.CharacterController attribute)
max_timestep (wecs.mechanics.clock.Clock attribute)
maximum (wecs.panda3d.character.Stamina attribute)
min_pitch (wecs.panda3d.camera.ObjectCentricCameraMode attribute)
Model (class in wecs.panda3d.model)
MountedCameraMode (class in wecs.panda3d.camera)
move_drain (wecs.panda3d.character.Stamina attribute)
N
node (wecs.panda3d.model.Geometry attribute)
(wecs.panda3d.model.PhysicsBody attribute)
(wecs.panda3d.model.Sprite attribute)
NoSuchUID
NotTakeable
O
ObjectCentricCameraMode (class in wecs.panda3d.camera)
or_filter() (in module wecs.core)
OrFilter (class in wecs.core)
P
panda_clock() (in module wecs.panda3d)
parent (wecs.mechanics.clock.Clock attribute)
PerceiveRoom (class in wecs.rooms)
PhysicsBody (class in wecs.panda3d.model)
PhysicsWorld (class in wecs.panda3d.model)
pitch (wecs.panda3d.ai.ConstantCharacterAI attribute)
(wecs.panda3d.camera.ObjectCentricCameraMode attribute)
(wecs.panda3d.character.CharacterController attribute)
pixelated (wecs.panda3d.model.Sprite attribute)
Position (class in wecs.panda3d.model)
post_load_hook() (wecs.panda3d.model.SetupModels method)
predict_falling() (wecs.panda3d.character.Falling method)
PrepareCameras (class in wecs.panda3d.camera)
process_input() (wecs.panda3d.camera.ReorientObjectCentricCamera method)
R
random_color() (in module wecs.graphviz)
rebecca_bumper() (in module wecs.panda3d.aspects)
rebecca_lifter() (in module wecs.panda3d.aspects)
recovery (wecs.panda3d.character.Stamina attribute)
register_entity_for_components_update() (wecs.core.World method)
remove() (wecs.aspects.Aspect method)
remove_component() (wecs.core.Entity method)
remove_entity() (wecs.core.World method)
remove_system() (wecs.core.World method)
(wecs.panda3d.core.ECSShowBase method)
ReorientObjectCentricCamera (class in wecs.panda3d.camera)
ResetMountedCamera (class in wecs.panda3d.camera)
Room (class in wecs.rooms)
RoomPresence (class in wecs.rooms)
RoomsNotAdjacent
rotated_inertia (wecs.panda3d.character.InertialMovement attribute)
run_game() (in module wecs.boilerplate)
run_sensors() (wecs.panda3d.character.CollisionSystem method)
run_system() (wecs.panda3d.core.ECSShowBase method)
runcode() (wecs.repl.Interpreter method)
runline() (wecs.repl.Interpreter method)
S
scaling_factor (wecs.mechanics.clock.Clock attribute)
Scene (class in wecs.panda3d.model)
scene (wecs.panda3d.model.PhysicsBody attribute)
set() (wecs.mechanics.clock.SettableClock method)
set_frame() (wecs.panda3d.model.UpdateSprites method)
SettableClock (class in wecs.mechanics.clock)
SetupModels (class in wecs.panda3d.model)
SetUpPhysics (class in wecs.panda3d.model)
showsyntaxerror() (wecs.repl.Interpreter method)
showtraceback() (wecs.repl.Interpreter method)
Slot (class in wecs.equipment)
spectator_bumper() (in module wecs.panda3d.aspects)
speed (wecs.panda3d.character.CrouchingMovement attribute)
(wecs.panda3d.character.FloatingMovement attribute)
(wecs.panda3d.character.SprintingMovement attribute)
(wecs.panda3d.character.WalkingMovement attribute)
sprint_drain (wecs.panda3d.character.Stamina attribute)
SprintingMovement (class in wecs.panda3d.character)
sprints (wecs.panda3d.ai.ConstantCharacterAI attribute)
(wecs.panda3d.character.CharacterController attribute)
Sprite (class in wecs.panda3d.model)
sprite_height (wecs.panda3d.model.SpriteSheet attribute)
sprite_width (wecs.panda3d.model.SpriteSheet attribute)
SpriteAnimation (class in wecs.panda3d.model)
SpriteSheet (class in wecs.panda3d.model)
Stamina (class in wecs.panda3d.character)
System (class in wecs.core)
system_component_dependency() (in module wecs.graphviz)
T
tag_name (wecs.panda3d.character.BumpingMovement attribute)
(wecs.panda3d.character.FallingMovement attribute)
take() (in module wecs.inventory)
Takeable (class in wecs.inventory)
TakeAction (class in wecs.inventory)
TakeOrDrop (class in wecs.inventory)
texture (wecs.panda3d.model.Sprite attribute)
Think (class in wecs.panda3d.ai)
threshold (wecs.panda3d.character.TurningBackToCameraMovement attribute)
timer (wecs.panda3d.model.SpriteAnimation attribute)
timestep (wecs.mechanics.clock.Clock attribute)
(wecs.panda3d.model.PhysicsBody attribute)
(wecs.panda3d.model.PhysicsWorld attribute)
turning_speed (wecs.panda3d.camera.ObjectCentricCameraMode attribute)
(wecs.panda3d.character.FloatingMovement attribute)
(wecs.panda3d.character.WalkingMovement attribute)
TurningBackToCamera (class in wecs.panda3d.character)
TurningBackToCameraMovement (class in wecs.panda3d.character)
U
UID (class in wecs.core)
unequip() (in module wecs.equipment)
UnequipAction (class in wecs.equipment)
update (wecs.panda3d.model.SpriteSheet attribute)
update() (wecs.core.System method)
(wecs.core.World method)
(wecs.equipment.EquipOrUnequip method)
(wecs.inventory.TakeOrDrop method)
(wecs.mechanics.clock.DetermineTimestep method)
(wecs.panda3d.ai.Think method)
(wecs.panda3d.animation.Animate method)
(wecs.panda3d.animation.AnimateCharacter method)
(wecs.panda3d.camera.CollideCamerasWithTerrain method)
(wecs.panda3d.camera.PrepareCameras method)
(wecs.panda3d.camera.ReorientObjectCentricCamera method)
(wecs.panda3d.camera.ResetMountedCamera method)
(wecs.panda3d.character.Bumping method)
(wecs.panda3d.character.ExecuteMovement method)
(wecs.panda3d.character.FaceMovement method)
(wecs.panda3d.character.Falling method)
(wecs.panda3d.character.Floating method)
(wecs.panda3d.character.Inertiing method)
(wecs.panda3d.character.Jumping method)
(wecs.panda3d.character.TurningBackToCamera method)
(wecs.panda3d.character.UpdateCharacter method)
(wecs.panda3d.character.UpdateStamina method)
(wecs.panda3d.character.Walking method)
(wecs.panda3d.clock.UpdateClocks method)
(wecs.panda3d.model.DeterminePhysicsTimestep method)
(wecs.panda3d.model.DoPhysics method)
(wecs.panda3d.model.ManageGeometry method)
(wecs.panda3d.model.SetUpPhysics method)
(wecs.panda3d.model.UpdateSprites method)
(wecs.rooms.ChangeRoom method)
(wecs.rooms.PerceiveRoom method)
update_components() (wecs.core.Entity method)
update_entity_filters() (wecs.core.World method)
update_system() (wecs.core.World method)
UpdateBillboards (class in wecs.panda3d.model)
UpdateCharacter (class in wecs.panda3d.character)
UpdateClocks (class in wecs.panda3d.clock)
UpdateSprites (class in wecs.panda3d.model)
UpdateStamina (class in wecs.panda3d.character)
V
view_axis_alignment (wecs.panda3d.character.TurningBackToCameraMovement attribute)
W
Walking (class in wecs.panda3d.character)
WalkingMovement (class in wecs.panda3d.character)
wall_time (wecs.mechanics.clock.Clock attribute)
wecs (module)
wecs.aspects (module)
wecs.boilerplate (module)
wecs.core (module)
wecs.equipment (module)
wecs.graphviz (module)
wecs.inventory (module)
wecs.mechanics (module)
wecs.mechanics.clock (module)
wecs.panda3d (module)
wecs.panda3d.ai (module)
wecs.panda3d.animation (module)
wecs.panda3d.aspects (module)
wecs.panda3d.camera (module)
wecs.panda3d.character (module)
wecs.panda3d.clock (module)
wecs.panda3d.core (module)
wecs.panda3d.input (module)
wecs.panda3d.model (module)
wecs.repl (module)
wecs.rooms (module)
World (class in wecs.core)
world (wecs.panda3d.model.PhysicsBody attribute)
write() (wecs.repl.Interpreter method)