private void GameStateChangerOnShown(GameObject sender, string message) { if (Equals(sender, panelBucket.Instructions)) { panelBucket.Instructions.GetComponent <InstructionsTimer>().StartTimer(); instructionsGuiHandler.EnableArrows(); AudioClipPlayer.PlayCountdown(); cardShepherd.SpawnFirstCard(); } else if (Equals(sender, panelBucket.RoundResults)) { // Run round result animation roundEndController.RoundEndAnimation(2f); // Sometimes the last card doesn't get sent off screen, // so we make sure it's recycled here. cardShepherd.RecycleCurrentCard(); } else if (Equals(sender, panelBucket.GameResults)) { // Run game result animation panelBucket.GameResults.GetComponent <ResultsController>().BeginResultsAnimation(3f); } }