- Home /
 
How to add all PlayerPrefs to a list?
I ran into an issue whilst making a game where I need to add all player preferences to a list of floats, I have made a PlayerPref list of all the movements the player has made at what time so something like: 0NoMovement = 3.35s 1LeftMovement = 2.2s 2RightMovement = 6.7s And so on. Now I need to move these to a list in a simple way, Right now the only way I can think of is having a for loop inside a for loop, and as most of you probably know that isn't very good... Now I feel this would be the best way to make a ghost but if you have any better ways that would also be appreciated. Thanks in advance AliquidHacker
Answer by Dinosaurs · Aug 31, 2015 at 04:31 AM
There's nothing wrong with nesting for loops; however, storing every move a player makes as a string in PlayerPrefs is probably not the best way to store that data. I do not know your needs, but it seems like it would be much better to create a simple struct to store the data, for example:
 public enum Direction
 {
     None,
     Up,
     Down,
     Left,
     Right,
 }
 
 public struct PlayerMove
 {
     public int Index;
     public float Time;
     public Direction MoveDirection;
 }
 
 List<PlayerMove> recentMoves;
 
               If you need to save that info between sessions, you could also look into using ArrayPrefs http://wiki.unity3d.com/index.php/ArrayPrefs2 to save more complex data to player prefs.
Thank you very much, I'll try that it will probably be a lot better as you just said.
Your answer
 
             Follow this Question
Related Questions
Making a bubble level (not a game but work tool) 1 Answer
Distribute terrain in zones 3 Answers
Multiple Cars not working 1 Answer
Saving Rotation of Sprite 1 Answer
RTS Camera Rotation and Movement 0 Answers