void
AngryStone::activate()
{
- physic.vx = 0;
- physic.vy = 0;
- physic.gravity_enabled = true;
+ physic.set_velocity_x(0);
+ physic.set_velocity_y(0);
+ physic.enable_gravity(true);
sprite->set_action("idle");
}
(hit.normal.x == -attackDirection.x) && (hit.normal.y == attackDirection.y)) {
state = IDLE;
sprite->set_action("idle");
- physic.vx = 0;
- physic.vy = 0;
- physic.gravity_enabled = true;
+ physic.set_velocity_x(0);
+ physic.set_velocity_y(0);
+ physic.enable_gravity(true);
oldWallDirection.x = attackDirection.x;
oldWallDirection.y = attackDirection.y;
}
sprite->set_action("attacking");
timer.start(ATTACK_TIME);
state = ATTACKING;
- physic.gravity_enabled = false;
- physic.vx = SPEED * attackDirection.x;
- physic.vy = SPEED * attackDirection.y;
+ physic.enable_gravity(false);
+ physic.set_velocity_x(SPEED * attackDirection.x);
+ physic.set_velocity_y(SPEED * attackDirection.y);
oldWallDirection.x = 0;
oldWallDirection.y = 0;
}
timer.start(RECOVER_TIME);
state = RECOVERING;
sprite->set_action("idle");
- physic.gravity_enabled = true;
- physic.vx = 0;
- physic.vy = 0;
+ physic.enable_gravity(true);
+ physic.set_velocity_x(0);
+ physic.set_velocity_y(0);
}
}
if (timer.check()) {
state = IDLE;
sprite->set_action("idle");
- physic.gravity_enabled = true;
- physic.vx = 0;
- physic.vy = 0;
+ physic.enable_gravity(true);
+ physic.set_velocity_x(0);
+ physic.set_velocity_y(0);
}
}