Exemplo n.º 1
0
        void readMapData(String mapName)
        {
            try
            {
                System.IO.Stream       stream  = TitleContainer.OpenStream(BeatShift.contentManager.RootDirectory + "/MapPointData/" + mapName + ".bsmp");
                System.IO.StreamReader sreader = new System.IO.StreamReader(stream);

                String line;
                int    i = 0;
                while ((line = sreader.ReadLine()) != null)
                {
                    String[] coordinates = line.Split(';');
                    if (coordinates.Length == 4)
                    {
                        String[] position  = coordinates[0].Split(':');
                        Vector3  positionV = new Vector3((float)Convert.ToDouble(position[0]), (float)Convert.ToDouble(position[1]), (float)Convert.ToDouble(position[2]));

                        String[] up      = coordinates[1].Split(':');
                        Vector3  upRollV = Vector3.Normalize(new Vector3((float)Convert.ToDouble(up[0]), (float)Convert.ToDouble(up[1]), (float)Convert.ToDouble(up[2])));

                        String[] tangent  = coordinates[2].Split(':');
                        Vector3  tangentV = Vector3.Normalize(new Vector3((float)Convert.ToDouble(tangent[0]), (float)Convert.ToDouble(tangent[1]), (float)Convert.ToDouble(tangent[2])));

                        String[] road  = coordinates[3].Split(':');
                        Vector3  roadV = Vector3.Normalize(new Vector3((float)Convert.ToDouble(road[0]), (float)Convert.ToDouble(road[1]), (float)Convert.ToDouble(road[2])));


                        try
                        {
                            mapPoints.Add(new MapPoint(i, positionV, upRollV, tangentV, roadV, waypointWidth, verticalOffset));
                        }
                        catch (FormatException fe)
                        {
                            Debug.WriteLine(fe);
                        } catch (OverflowException oe)
                        {
                            Debug.WriteLine(oe);
                        }
                        i++;
                    }
                }

                stream.Close();
                stream.Dispose();
                sreader.Close();
                sreader.Dispose();
            }
            catch (System.IO.FileNotFoundException fnfe)
            {
                // this will be thrown by OpenStream if mapName.txt
                // doesn't exist in the title storage location
                // System.Diagnostic.Debug.WriteLine("Problem with loading map points: " + fnfe.ToString());
            }

            mapPointTree = new KdTree3(mapPoints);
        }
Exemplo n.º 2
0
        void readMapData( String mapName )
        {
            try
            {
                System.IO.Stream stream = TitleContainer.OpenStream(BeatShift.contentManager.RootDirectory + "/MapPointData/" + mapName + ".bsmp");
                System.IO.StreamReader sreader = new System.IO.StreamReader(stream);

                String line;
                int i = 0;
                while ((line = sreader.ReadLine()) != null)
                {
                    String[] coordinates = line.Split(';');
                    if (coordinates.Length == 4)
                    {
                        String[] position = coordinates[0].Split(':');
                        Vector3 positionV = new Vector3((float)Convert.ToDouble(position[0]), (float)Convert.ToDouble(position[1]), (float)Convert.ToDouble(position[2]));

                        String[] up = coordinates[1].Split(':');
                        Vector3 upRollV = Vector3.Normalize(new Vector3((float)Convert.ToDouble(up[0]), (float)Convert.ToDouble(up[1]), (float)Convert.ToDouble(up[2])));

                        String[] tangent = coordinates[2].Split(':');
                        Vector3 tangentV = Vector3.Normalize(new Vector3((float)Convert.ToDouble(tangent[0]), (float)Convert.ToDouble(tangent[1]), (float)Convert.ToDouble(tangent[2])));

                        String[] road = coordinates[3].Split(':');
                        Vector3 roadV = Vector3.Normalize(new Vector3((float)Convert.ToDouble(road[0]), (float)Convert.ToDouble(road[1]), (float)Convert.ToDouble(road[2])));

                        try
                        {
                            mapPoints.Add(new MapPoint(i,positionV, upRollV, tangentV, roadV,waypointWidth,verticalOffset));
                        }
                        catch (FormatException fe)
                        {
                            Debug.WriteLine(fe);
                        } catch (OverflowException oe)
                        {
                            Debug.WriteLine(oe);
                        }
                        i++;
                    }
                }

                stream.Close();
                stream.Dispose();
                sreader.Close();
                sreader.Dispose();
            }
            catch (System.IO.FileNotFoundException fnfe)
            {
                // this will be thrown by OpenStream if mapName.txt
                // doesn't exist in the title storage location
                // System.Diagnostic.Debug.WriteLine("Problem with loading map points: " + fnfe.ToString());
            }

            mapPointTree = new KdTree3(mapPoints);
        }