|
|
|
|
@ -262,22 +262,25 @@ fn step(
|
|
|
|
|
let ownership_check = !ownership_done && transitions.iter().count() > 0;
|
|
|
|
|
let jump_done = seen.0.contains(&TutorialState::PieceJump);
|
|
|
|
|
let queen_selected = pieces.iter().filter(|&p| *p == game::Piece::Queen).count() > 0;
|
|
|
|
|
let queen_seen = seen.0.contains(&TutorialState::PieceQueen);
|
|
|
|
|
let drone_selected = pieces.iter().filter(|&p| *p == game::Piece::Drone).count() > 0;
|
|
|
|
|
let drone_seen = seen.0.contains(&TutorialState::PieceDrone);
|
|
|
|
|
let pawn_selected = pieces.iter().filter(|&p| *p == game::Piece::Pawn).count() > 0;
|
|
|
|
|
let pawn_seen = seen.0.contains(&TutorialState::PiecePawn);
|
|
|
|
|
|
|
|
|
|
// A piece is selected, so talk about it
|
|
|
|
|
if piece_selected {
|
|
|
|
|
// When a queen is selected for the first time...
|
|
|
|
|
if queen_selected {
|
|
|
|
|
if queen_selected && !queen_seen {
|
|
|
|
|
TutorialState::PieceQueen
|
|
|
|
|
// When a drone is selected for the first time...
|
|
|
|
|
} else if drone_selected {
|
|
|
|
|
} else if drone_selected && !drone_seen {
|
|
|
|
|
TutorialState::PieceDrone
|
|
|
|
|
// When a pawn is selected for the first time...
|
|
|
|
|
} else if pawn_selected {
|
|
|
|
|
} else if pawn_selected && !pawn_seen {
|
|
|
|
|
TutorialState::PiecePawn
|
|
|
|
|
} else {
|
|
|
|
|
panic!("This shouldn't be possible...!")
|
|
|
|
|
TutorialState::Empty
|
|
|
|
|
}
|
|
|
|
|
// There are no pieces selected
|
|
|
|
|
} else {
|
|
|
|
|
|