// Instance Constructor
        public Raincloud()
        {
            // NEW CLOUD
            rng = new Random();
            cloud = new Raindrop[BeatmapConstants.MAX_RAINDROPS];
            NoNoRegion = new CollisionMap();
            regionList = new List<CollisionNode>();
            shiftList = new List<ShiftNode>();
            initializeLightning();
            clearMap();

            for(int x = 0; x < cloud.Length; x++)
            {
                cloud[x] = new Raindrop(BeatmapConstants.MIN_HEIGHT + rng.NextDouble() * BeatmapConstants.MAX_HEIGHT,
                    rng.NextDouble() * BeatmapConstants.MAX_FADE);
            }
        }
        // Instance Constructor
        public Raincloud()
        {
            // NEW CLOUD
            rng        = new Random();
            cloud      = new Raindrop[BeatmapConstants.MAX_RAINDROPS];
            NoNoRegion = new CollisionMap();
            regionList = new List <CollisionNode>();
            shiftList  = new List <ShiftNode>();
            initializeLightning();
            clearMap();

            for (int x = 0; x < cloud.Length; x++)
            {
                cloud[x] = new Raindrop(BeatmapConstants.MIN_HEIGHT + rng.NextDouble() * BeatmapConstants.MAX_HEIGHT,
                                        rng.NextDouble() * BeatmapConstants.MAX_FADE);
            }
        }