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); }