public void selectionDestroy(double time) { List <Vector2> temporary_selection = new List <Vector2>(); for (int i = 0; i != number_of_rows; ++i) { for (int j = 0; j != number_of_columns; ++j) { foreach (Vector2 vector in selection) { if ((vector.X == j) && (vector.Y == start_position + i)) { if (numbers[i, j] == CubeState.Evil) { ++bad_detonations; } if (numbers[i, j] == CubeState.Neutral) { ++good_detonations; } if (numbers[i, j] == CubeState.Good) { ++good_detonations; selectDestroyPosition((int)vector.X, (int)vector.Y, temporary_selection); } CubeExplosion explosion = new CubeExplosion(); explosion.x = j * cube.size; explosion.y = 0.0f; explosion.z = (i + start_position) * cube.size; explosion.trigger_time = time; explosion.scale = 1.1f; explosion_list.Add(explosion); numbers[i, j] = CubeState.Empty; if (GamePad.GetState(PlayerIndex.One).IsConnected) { GamePad.SetVibration(PlayerIndex.One, 1.0f, 1.0f); rumble_start = (float)elapsed_time; rumble_active = true; } } } } } selection.Clear(); foreach (Vector2 vector in temporary_selection) { selection.Add(vector); } }
/// <summary> /// Funzione di Setup /// </summary> /// <param name="_lvlMng"></param> public override void Setup(LevelManager _lvlMng) { base.Setup(_lvlMng); sm = GetComponent <Boss1SMController>(); shootCtrl = GetComponent <Boss1ShootController>(); phaseCtrl = GetComponent <Boss1PhaseController>(); trailCtrl = GetComponent <Boss1TrailController>(); cubeExplosion = GetComponent <CubeExplosion>(); }