public void character_loaded() { //this means we are start/restarting the game if (NGM.CurrentCharacterLoader.Character == CharacterIndex.sFetus) { reset_stats_and_difficulties(); } //reveal the character with sound mManager.mMusicManager.play_sound_effect("transitionOut"); slide_image(mFlatCamera, mSunsetImage, null, false); //we use the hack version instead that allows us to skip characters set_last_performance_stat_to_character(NGM.CurrentCharacterIndex); //mPerformanceStats.Add(new PerformanceStats(NGM.CurrentCharacterIndex)); //CurrentPerformanceStat.Stats = NGM.CharacterHelper.Characters[NGM.CurrentCharacterIndex]; mInterfaceManager.begin_new_character(CurrentPerformanceStat); //set particle color mParticles.mParticles.set_emitter_particle_color(mManager.mCharacterBundleManager.get_character_stat(NGM.CurrentCharacterIndex).CharacterInfo.CharacterOutlineColor / 2f, 2); if (NGM.CurrentCharacterLoader.Character != CharacterIndex.sFetus) { mGiftManager.add_character(NGM.CurrentCharacterLoader.Character); } switch (NGM.CurrentCharacterLoader.Name) { case "0-1": set_time_for_PLAY(999999f); setup_next_poses(true); transition_to_PLAY(); float gTextDisplayDur = 4; NGM.CurrentTargetPose = null; System.Action transPose = delegate() { NGM.CurrentTargetPose = mManager.mReferences.mCheapPose.to_pose(); mManager.mTransparentBodyManager.set_target_pose(NGM.CurrentTargetPose); mManager.mTransparentBodyManager.transition_character_in(mManager.mCharacterBundleManager.get_character_stat(NGM.CurrentCharacterIndex).CharacterInfo.CharacterOutlineColor); }; if (mManager.mMetaManager.UnlockManager.mUnlocked.numberGamesPlayed == 0 || GameConstants.TUTORIAL_ONCE != true) { TED.add_event( mInterfaceManager.skippable_text_bubble_event(GameStrings.GetString("MNPfetus1"), gTextDisplayDur), 3).then_one_shot( transPose, 0).then( mInterfaceManager.skippable_text_bubble_event(GameStrings.GetString("MNPfetus2"), gTextDisplayDur), 1.5f); } else { TED.add_one_shot_event(transPose, 2); } break; case "110": set_time_for_PLAY(GameConstants.playAstronautPlayTime); //astronaut scene is shorter setup_next_poses(true); //astronaut scene has no transparent pose mAstronaut.start_astro(); mManager.mBackgroundManager.hide_bg_and_fg_elements(true); mInterfaceManager.hide_interface(); transition_to_PLAY(); TED.add_event( mInterfaceManager.skippable_text_bubble_event(GameStrings.GetString("MNPfetus3"), 4), 1); CurrentPerformanceStat.update_score(0, 1); //give astronaut perfect score CurrentPerformanceStat.update_score(1, 1); break; default: set_time_for_PLAY(GameConstants.playDefaultPlayTime); setup_next_poses(false); transition_to_PLAY(); break; } }