コード例 #1
0
ファイル: Machine.cs プロジェクト: ipc0385/pleasework
    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);
        }
    }
コード例 #2
0
        // 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);
        }