Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by conesco3 · Feb 21, 2016 at 06:46 PM · c#scorefilehighscoresstruct

Game highscore file writing

Hello. I am making a snake game in unity and I am trying to save the user score to a CSV file using C# StreamWritter but my script I have written seems to stop once it reaches the file writing.

Highscore script:

 using UnityEngine;
  using System.Collections;
  using System.IO;
  
  public class Highscore : MonoBehaviour {
  
      public GameObject CO;
      public GUInamecarry GNC;
      
  
      public struct Highscores
      {
          public string name;
          public int score;
          public string date;
      }
      
      void Awake () {
      CO = GameObject.FindWithTag("empty");
      GNC = CO.GetComponent<GUInamecarry> ();
      }
  
      // Use this for initialization
      void Start () {
         Highscores[] hs = new Highscores[6];
         hs[1].name = GNC.name;
         hs[1].score = GNC.score;
         hs[1].date = "19/02/16"; 
         string dir = System.IO.Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly ().Location); // For when it is installed on a computer. Not when being used in unity.
  
         string filePath = "E:/" + "highscore.csv"; 
         // replace the "E:/" with dir when done
  
         if (!File.Exists (filePath)) { // verifies file is there.
             File.Create (filePath).Close ();
         }
 
         using (StreamReader reader = new StreamReader (filePath)) {
             string line;
             int i = 1;
             while ((line = reader.ReadLine ()) != null) {
                 string[] part = line.Split (',');
                  
                 hs [i + 1].name = part [0];
                 int x = int.Parse (part [1]);
                 hs [i + 1].score = x;
                 hs [i + 1].date = part [2];
                 i = i + 1;
                 Debug.Log (hs [i].name);
                 Debug.Log (hs [i].score);
                 Debug.Log (hs [i].date);
             }
         reader.Close();    
         
             
             int c = i - 1;
 
             for (int a = 1; a < c; a++) {
                 // Starts a second loop to compare the record values of the one record against the other then swaps them.
                 for (int b = 0; b < c - 1; b++) {
                     // The if statement checks to see if the points of the driver are less than the points of the next driver in the row of the records along. 
                     if (hs [b].score < hs [b + 1].score) {
                         // The swap function then swaps all the values one record with another.
                         int temp = hs [b].score;
                         hs [b].score = hs [b + 1].score;
                         hs [b + 1].score = temp;
                     }
                 }
             }
             Debug.Log (hs[1].name);
             File.Delete (filePath);
             File.Create (filePath).Close ();


**!! I know the script works fine till this point here after the file has been created.

                 using (StreamWriter outputFile = new StreamWriter(filePath)) {
                 for (int d = 0; d < c; d++)
                 {
                 Debug.Log(d);
                 outputFile.WriteLine(hs[d].name + ", " + hs[d].score + ", " + hs[d].date);
                 }
             outputFile.Close();
             }
         }
     }
                     
      // Update is called once per frame
      void Update () {
      
      }
  }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

109 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Highscore and PlayerPrefs unity C# 1 Answer

Highscore system unity C# 0 Answers

How do I save my Highest time using playerprefs? 1 Answer

How do I access playerprefs from another script? 1 Answer

How to use SyncListStruct properly? 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges