Show / Hide Table of Contents

# Class UserLoft

Klasse zur Verwaltung der User in der `save.json`

##### Inheritance

System.Object
UserLoft

##### Inherited Members

System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()

###### Namespace: Sokoban.Model

###### Assembly: Sokoban.dll

##### Syntax

    public class UserLoft

### Constructors

#### UserLoft()

Liest die `save.json` aus und schiebt die LocalUser-Objekte in die Users-Liste

##### Declaration

    public UserLoft()

### Properties

#### AllUserNames

Generiert eine Liste aller bekannten Usernamen in der `save.json`.

Wird benötigt, um diese im Intro Fenster anzuzeigen

##### Declaration

    public string[] AllUserNames { get; }

##### Property Value

Type | Description
--- | ---
System.String[] |

#### CurrentUser

Der momentan aktive User.

Wird gesetzt durch die LoadUser Methode

##### Warning

Wurde zuvor kein User geladen, ist dieser `null`!

##### Declaration

    public LocalUser CurrentUser { get; }

##### Property Value

Type | Description
--- | ---
LocalUser |

#### Users

Liste aller bekannten User in der `save.json`.

Wird gesetzt durch den UserLoft Konstruktor

##### Declaration

    public List<LocalUser> Users { get; }

##### Property Value

Type | Description
--- | ---
System.Collections.Generic.List<LocalUser> |

### Methods

#### GetData()

Konvertiert alle Einträge aus der lokalen Users-Liste vom Typ LocalUser zu einer Liste vom Typ User

Wird benötigt, um diese im Credit Fenster anzuzeigen

##### Declaration

    public List<User> GetData()

##### Returns

Type | Description
--- | ---
System.Collections.Generic.List<User> | User Liste

#### LoadUser(String)

Lädt einen User entsprechend seines Namens als CurrentUser

Existiert noch keiner in der `save.json` bzw. in der Users-Liste wird dieser automatisch erstellt & hinzugefügt

##### Declaration

    public void LoadUser(string name)

##### Parameters

Type | Name | Description
--- | --- | ---
System.String | name | Username

#### UpdateUser(GameState)

Updated die `save.json` und pusht danach den Spielstand zusätzlich online

##### Declaration

    public void UpdateUser(GameState state)

##### Parameters

Type | Name | Description
--- | --- | ---
GameState | state | Aktueller Spielstand

### See Also

GameState
LocalUser
OnlineTop10
User