Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 4 additions & 11 deletions lib/components/chicken.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import 'package:pixel_adventure/pixel_adventure.dart';

enum State { idle, run, hit }

class Chicken extends SpriteAnimationGroupComponent
class Chicken extends SpriteAnimationGroupComponent<State>
with HasGameRef<PixelAdventure>, CollisionCallbacks {
final double offNeg;
final double offPos;
Expand All @@ -34,9 +34,6 @@ class Chicken extends SpriteAnimationGroupComponent
bool gotStomped = false;

late final Player player;
late final SpriteAnimation _idleAnimation;
late final SpriteAnimation _runAnimation;
late final SpriteAnimation _hitAnimation;

@override
FutureOr<void> onLoad() {
Expand Down Expand Up @@ -65,14 +62,10 @@ class Chicken extends SpriteAnimationGroupComponent
}

void _loadAllAnimations() {
_idleAnimation = _spriteAnimation('Idle', 13);
_runAnimation = _spriteAnimation('Run', 14);
_hitAnimation = _spriteAnimation('Hit', 15)..loop = false;

animations = {
State.idle: _idleAnimation,
State.run: _runAnimation,
State.hit: _hitAnimation,
State.idle: _spriteAnimation('Idle', 13),
State.run: _spriteAnimation('Run', 14),
State.hit: _spriteAnimation('Hit', 15)..loop = false,
};

current = State.idle;
Expand Down
31 changes: 8 additions & 23 deletions lib/components/player.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ enum PlayerState {
disappearing
}

class Player extends SpriteAnimationGroupComponent
class Player extends SpriteAnimationGroupComponent<PlayerState>
with HasGameRef<PixelAdventure>, KeyboardHandler, CollisionCallbacks {
String character;
Player({
Expand All @@ -32,13 +32,6 @@ class Player extends SpriteAnimationGroupComponent
}) : super(position: position);

final double stepTime = 0.05;
late final SpriteAnimation idleAnimation;
late final SpriteAnimation runningAnimation;
late final SpriteAnimation jumpingAnimation;
late final SpriteAnimation fallingAnimation;
late final SpriteAnimation hitAnimation;
late final SpriteAnimation appearingAnimation;
late final SpriteAnimation disappearingAnimation;

final double _gravity = 9.8;
final double _jumpForce = 260;
Expand Down Expand Up @@ -123,23 +116,15 @@ class Player extends SpriteAnimationGroupComponent
}

void _loadAllAnimations() {
idleAnimation = _spriteAnimation('Idle', 11);
runningAnimation = _spriteAnimation('Run', 12);
jumpingAnimation = _spriteAnimation('Jump', 1);
fallingAnimation = _spriteAnimation('Fall', 1);
hitAnimation = _spriteAnimation('Hit', 7)..loop = false;
appearingAnimation = _specialSpriteAnimation('Appearing', 7);
disappearingAnimation = _specialSpriteAnimation('Desappearing', 7);

// List of all animations
animations = {
PlayerState.idle: idleAnimation,
PlayerState.running: runningAnimation,
PlayerState.jumping: jumpingAnimation,
PlayerState.falling: fallingAnimation,
PlayerState.hit: hitAnimation,
PlayerState.appearing: appearingAnimation,
PlayerState.disappearing: disappearingAnimation,
PlayerState.idle: _spriteAnimation('Idle', 11),
PlayerState.running: _spriteAnimation('Run', 12),
PlayerState.jumping: _spriteAnimation('Jump', 1),
PlayerState.falling: _spriteAnimation('Fall', 1),
PlayerState.hit: _spriteAnimation('Hit', 7)..loop = false,
PlayerState.appearing: _specialSpriteAnimation('Appearing', 7),
PlayerState.disappearing: _specialSpriteAnimation('Desappearing', 7),
};

// Set current animation
Expand Down