@ -143,11 +143,17 @@ namespace gui {
}
}
void FSM : : ATTACKING ( Event ev ) {
void FSM : : ATTACKING ( Event ev ) {
fmt : : println ( " ATTACKING! {} " , $ rotation ) ;
switch ( ev ) {
switch ( ev ) {
case Event : : ATTACK :
case Event : : TICK :
run_systems ( ) ;
$ rotation_count + + ;
$ rotation = $ rotation < 0.0f ? 0.0f : - 33.0f ;
// just do 10 ticks
if ( $ rotation_count % 10 = = 0 ) {
run_systems ( ) ;
$ rayview . $ anim . play ( true ) ;
$ rotation = - 10.0f ;
state ( State : : IDLE ) ;
}
break ;
break ;
default :
default :
state ( State : : IDLE ) ;
state ( State : : IDLE ) ;
@ -162,7 +168,6 @@ namespace gui {
void FSM : : IDLE ( Event ev ) {
void FSM : : IDLE ( Event ev ) {
using FU = Event ;
using FU = Event ;
$ rotation = - 10.0f ;
switch ( ev ) {
switch ( ev ) {
case FU : : QUIT :
case FU : : QUIT :
@ -193,8 +198,7 @@ namespace gui {
state ( State : : MAPPING ) ;
state ( State : : MAPPING ) ;
break ;
break ;
case FU : : ATTACK :
case FU : : ATTACK :
fmt : : println ( " ATTACK IN IDLE! " ) ;
$ rotation = - 30.0f ;
draw_weapon ( ) ;
state ( State : : ATTACKING ) ;
state ( State : : ATTACKING ) ;
break ;
break ;
case FU : : CLOSE :
case FU : : CLOSE :