Esempio n. 1
0
        public void setup()
        {
            LoadConfig(@"configuration\machine.json");
            setup_ball_search();

            this.all_gi_on();

            // Lamp showage
            this.lampctrl.register_show("attract1", @"lamps\attract1.lampshow");
            this.lampctrl.register_show("attract2", @"lamps\attract2.lampshow");
            this.lampctrl.register_show("attract3", @"lamps\attract3.lampshow");
            this.lampctrl.register_show("attract4", @"lamps\attract4.lampshow");

            // Intantiate basic game features
            attract = new Attract(this);
            _base_game_mode = new BaseGameMode(this);

            string[] trough_switchnames = new string[5] { "trough1", "trough2", "trough3", "trough4", "trough5" };
            trough = new Trough(this,
                                trough_switchnames,
                                "trough5",
                                "trough",
                                new string[] { "leftOutlane", "rightOutlane" },
                                "shooterLane");
            ball_save = new BallSave(this, "ballSave", "shooterLane");

            claw = new Claw(this);

            // Link ball save to trough
            ball_save.allow_multiple_saves = false;
            trough.ball_save_callback = new AnonDelayedHandler(ball_save.launch_callback);
            trough.num_balls_to_save = new GetNumBallsToSaveHandler(ball_save.get_num_balls_to_save);
            ball_save.trough_enable_ball_save = new BallSaveEnable(trough.enable_ball_save);

            // Instead of resetting everything here as well as when a user initiated reset occurs, do everything in
            // this.reset and call it now and during a user initiated reset
            this.Reset();
        }