Implement LobbyServer

This commit is contained in:
2019-05-03 20:24:02 +02:00
parent e3a7e37411
commit ed1771664b
10 changed files with 306 additions and 1 deletions

View File

@@ -0,0 +1,40 @@
using System.Linq;
using System;
using System.IO;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace LobbyServer
{
class ScoresManager
{
public const string FileName = "scores.json";
public string FilePath => Path.Combine(Environment.CurrentDirectory, FileName);
private List<ScoreEntry> _scores;
public IReadOnlyList<ScoreEntry> Scores => _scores.AsReadOnly();
public ScoresManager()
{
if (File.Exists("scores.json"))
{
_scores = JsonConvert.DeserializeObject<List<ScoreEntry>>(File.ReadAllText(FilePath));
}
else
{
_scores = new List<ScoreEntry>();
}
}
public void Add(ScoreEntry entry)
{
_scores.Add(entry);
_scores.OrderByDescending(x => x.Score);
}
public void Save()
{
File.WriteAllText(FilePath, JsonConvert.SerializeObject(_scores));
}
}
}