public void Switch(Transition input) { if (this.myState.isValid(input)) { this.myState.Exit(this); input.Activate(this); this.myState = input.state; this.myState.Entry(this); } }
// Reset scene private void ResetGame() { const float INITIAL_CAM_SCALE = 1.75f; const float CAM_SCALE_TARGET = 1.5f; const float CAM_SCALE_SPEED = 0.0033f; const float TRANS_SPEED = 2.0f; // Create game objects cam = new Camera(); stage = new Stage(assets); hud = new HUD(assets); // Create object manager objMan = new ObjectManager(assets); // Add objects stage.ParseObjects(objMan); // Create star objMan.CreateStar(stage); // Set player objMan.SetPlayer(cam, stage, this, audio, assets); // Set initial camera scale cam.Scale(INITIAL_CAM_SCALE, INITIAL_CAM_SCALE); cam.SetScaleTarget(CAM_SCALE_TARGET, CAM_SCALE_TARGET, CAM_SCALE_SPEED * TRANS_SPEED, CAM_SCALE_SPEED * TRANS_SPEED); // Disable pause pause.Disable(); // Reset HUD hud.Reset(); // Set transition trans.Activate(Transition.Mode.Out, TRANS_SPEED, null); // Reset music volume sMusic.SetVolume(MUSIC_VOL_BASE); }