예제 #1
0
    void Awake()
    {
        Application.targetFrameRate = 60;
        // static resources (does not change by changing level)

        var item_prefab_list = new List <string> {
            "Ball", "Board", "Launcher", "LaunchIndicator", "BallIndicator", "HP", "BounceValueIndicator"
        };

        item_prefabs = new Dictionary <string, GameObject>();
        foreach (var item_name in item_prefab_list)
        {
            item_prefabs.Add(item_name, ResManager.load_prefab(item_name));
        }

        game_param = ParamManager.load_param(0);
//        game_param = new GameParam();
//        ParamManager.save_param(0, game_param);
        game_state.initialize(game_param);
#if UNITY_EDITOR
        game_state_display  = game_state;
        level_param_display = game_param.level_params[0];
#endif


        for (int i = 0; i < 2; i++)
        {
            player_item[i].board                 = Instantiate(item_prefabs["Board"]);
            player_item[i].launcher              = Instantiate(item_prefabs["Launcher"]);
            player_item[i].launch_indicator      = Instantiate(item_prefabs["LaunchIndicator"]);
            player_item[i].ball_indicator        = Instantiate(item_prefabs["BallIndicator"]);
            player_item[i].bouncevalue_indicator = Instantiate(item_prefabs["BounceValueIndicator"]);
            player_item[i].bouncevalue_indicator.GetComponent <BounceValueIndicator>().player_id = i;

            player_item[i].HPs = new GameObject[game_param.level_params[0].lives];
            for (int j = 0; j < game_param.level_params[0].lives; j++)
            {
                player_item[i].HPs[j] = Instantiate(item_prefabs["HP"]);
            }
        }
        ongame_ui_manager.initialize(player_item, StatManager.get_state().game_mode == 0 ? 1 : 2);

        ball_manager.initialize(this, item_prefabs["Ball"], game_param);
        ui_manager.initialize();
        animation_manager.initialize();
        sound_manager.initialize();

        if (StatManager.get_state().game_mode == 0)
        {
            bot_manager = new BotManager();
            bot_manager.initialize(player_item[1].board, item_prefabs["Ball"], 1);
        }
#if UNITY_EDITOR
        else if (StatManager.get_state().game_mode == 2)
        {
            bot_manager2.initialize(player_item[0].board, item_prefabs["Ball"], 0);
        }
#endif

        // prepare level
        reload_level(StatManager.get_state().current_level);
    }