// Uncomment the following line to change the fontsize and font:
fontsize=16
// fontfamily=SansSerif //possible: SansSerif,Serif,Monospaced
//////////////////////////////////////////////////////////////////////////////////////////////
// Welcome to UMLet!
//
// Double-click on elements to add them to the diagram, or to copy them
// Edit elements by modifying the text in this panel
// Hold Ctrl to select multiple elements
// Use Ctrl+mouse to select via lasso
//
// Use +/- or Ctrl+mouse wheel to zoom
// Drag a whole relation at its central square icon
//
// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word)
// Edit the files in the "palettes" directory to create your own element palettes
//
// Select "Custom Elements > New..." to create new element types
//////////////////////////////////////////////////////////////////////////////////////////////
// This text will be stored with each diagram; use it for notes.
10
UMLClass
950
960
270
180
_PlatformerPlayerMove_
--
+ is_grounded : bool
--
+ give_vertical_jump_impulse()
+ accelerate_to_x_velocity()
// ...helper methods...
+ switch_to_ground_move()
+ switch_to_air_move()
+ switch_to_dash_move()
+ switch_to_squat_move()
+ switch_to_slide_move()
bg=#7fff7f
UMLClass
950
810
260
90
_PlatformerMove_
--
+ actor_hysics : ActorPhysics
+ rigid_body : RigidBody
+ platformer_actor_controller
bg=#7fff7f
UMLClass
550
810
310
50
_PlatformerActorController_
--
+ abilities : PlatformerActorAbilities
bg=#7fff7f
UMLClass
580
520
270
90
_ActorController_
--
+ move : Move
+ actor_physics : ActorPhysics
+ rigid_body : RigidBody
bg=#7fff7f
UMLClass
920
580
300
110
_Move_
--
+ actor_controller : ActorController
--
+ is_completed() : bool
+ _move_started()
+ _move_stopped()
bg=#7fff7f
Relation
850
960
120
30
lt=<-
10.0;10.0;100.0;10.0
Relation
1060
680
30
150
lt=<<-
10.0;10.0;10.0;130.0
Relation
1060
890
30
90
lt=<<-
10.0;10.0;10.0;70.0
Relation
700
600
30
230
lt=<<-
10.0;10.0;10.0;210.0
UMLClass
550
960
310
120
_PlatformerPlayerMoveRepository_
--
+ get_ground_move()
+ get_air_move()
+ get_dash_move()
+ get_squat_move()
+ get_slide_move()
bg=#7fff7f
Relation
840
570
100
40
10.0;20.0;80.0;20.0
UMLNote
870
460
330
100
An actor controller has a current move
that it forwards _process() etc. to.
Moves are tasks (AI) or states (player)
that control the movement of an actor.
bg=yellow
UMLNote
540
1090
350
70
Optional component that to reuse moves
and one way to inject custom moves for
the predefined moves to switch to.
bg=yellow
UMLClass
1250
960
240
150
_PlatformerAiMove_
--
+ navmesh_node
--
// ...helper methods...
+ switch_to_walk_move()
+ switch_to_jump_move()
+ switch_to_ragdoll_move()
+ switch_to_idle_move()
+ switch_to_hurt_move()
bg=#7fff7f
Relation
1060
890
320
90
lt=<<-
10.0;10.0;10.0;40.0;300.0;40.0;300.0;70.0
UMLPackage
520
760
990
420
Platformer
--
UMLPackage
560
420
680
300
Actors
--