internal Project EditProject(Project project) { var old = GetAllProjects().FirstOrDefault(p => p.Id.Equals(project.Id)); if (old == null) { return(CreateProject(project)); } var jDb = JsonDatabaseConnection.GetProjectDb(old.Name); if (!old.Name.Equals(project.Name)) { jDb.Rename(project.Name); } _db.Update(project); jDb.Update(project); foreach (var monsters in GetAllMonsters().Where(m => project.MonsterIds.Contains(m.Id))) { jDb.Update(monsters); } foreach (var spell in GetAllSpells().Where(m => project.SpellIds.Contains(m.Id))) { jDb.Update(spell); } return(project); }
public List <Player> Players = new List <Player>(); // <Player> Сlass declaration: Assets/Classes/Player.cs public void save() { string file = "ScoreTable"; string data = JsonUtility.ToJson(this, true); JsonDatabaseConnection.save(file, data); }
private IEnumerator SendLocalRecords() { ScoreTable LocalScoreTable = new ScoreTable(); string scoreTable = JsonDatabaseConnection.load("ScoreTable"); LocalScoreTable = JsonUtility.FromJson <ScoreTable>(scoreTable); Debug.Log(LocalScoreTable); if (LocalScoreTable != null) { string data = ""; string name = DataHolder.nickname; string score = DataHolder.points.ToString(); string url = "http://seventh.touchit.space/addPlayer.php"; // Database server URL foreach (Player player in LocalScoreTable.Players) { List <IMultipartFormSection> wwwForm = new List <IMultipartFormSection>(); wwwForm.Add(new MultipartFormDataSection("name", player.name)); wwwForm.Add(new MultipartFormDataSection("score", player.score.ToString())); UnityWebRequest www = UnityWebRequest.Post(url, wwwForm); yield return(www.SendWebRequest()); } JsonDatabaseConnection.clean("ScoreTable"); } }
internal void DeleteProject(Project project) { var old = GetAllProjects().FirstOrDefault(p => p.Id.Equals(project.Id)); if (old == null) { return; } JsonDatabaseConnection.GetProjectDb(old.Name).Delete(); _db.Remove(project); }
private void LoadAllProjects(IDatabaseConnection db) { var allProjects = GetAllProjects(); var allMonsters = GetAllMonsters(); var allSpells = GetAllSpells(); var jDb = new JsonDatabaseConnection(); foreach (var project in jDb.GetAllProjectNames()) { var pDb = JsonDatabaseConnection.GetProjectDb(project); foreach (var p in pDb.GetQueryable <Project>().Where(p => !allProjects.Any(mp => p.Id == mp.Id)).ToList()) { db.Add(p); } foreach (var m in pDb.GetQueryable <Monster>().Where(m => !allMonsters.Any(mm => m.Id == mm.Id)).ToList()) { db.Add(m); } foreach (var s in pDb.GetQueryable <Spell>().Where(s => !allSpells.Any(ms => s.Id == ms.Id)).ToList()) { db.Add(s); } } }
internal Project CreateProject(Project project) { _db.Add(project); JsonDatabaseConnection.GetProjectDb(project.Name).Add(project); return(project); }
private IEnumerator Send() { string data = ""; string name = DataHolder.nickname; string score = DataHolder.points.ToString(); string url = "http://seventh.touchit.space/addPlayer.php"; // Database server URL List <IMultipartFormSection> wwwForm = new List <IMultipartFormSection>(); if (name != "" || name != null) { wwwForm.Add(new MultipartFormDataSection("name", name)); wwwForm.Add(new MultipartFormDataSection("score", score)); UnityWebRequest www_add = UnityWebRequest.Post(url, wwwForm); yield return(www_add.SendWebRequest()); } url = "http://seventh.touchit.space/"; // Database server URL wwwForm = new List <IMultipartFormSection>(); UnityWebRequest www = UnityWebRequest.Post(url, wwwForm); www = UnityWebRequest.Post(url, wwwForm); yield return(www.SendWebRequest()); data = www.downloadHandler.text; ScoreTable GlobalScoreTable = new ScoreTable(); // <ScoreTable> Class declaration: Assets/Classes/ScoreTable.cs Debug.Log(data); GlobalScoreTable = JsonUtility.FromJson <ScoreTable>(data); Debug.Log(GlobalScoreTable); if (GlobalScoreTable != null) { foreach (Player player in GlobalScoreTable.Players) { scoreTableItem.transform.Find("Id").GetComponent <Text>().text = player.id.ToString(); scoreTableItem.transform.Find("Name").GetComponent <Text>().text = player.name; scoreTableItem.transform.Find("Score").GetComponent <Text>().text = player.score.ToString(); Instantiate(scoreTableItem.transform, scoreTableContent.transform); } } else { ScoreTable LocalScoreTable = new ScoreTable(); // <ScoreTable> Class declaration: Assets/Classes/ScoreTable.cs Player player = new Player(); string scoreTable = JsonDatabaseConnection.load("ScoreTable"); if (scoreTable != "") { LocalScoreTable = JsonUtility.FromJson <ScoreTable>(scoreTable); Debug.Log(LocalScoreTable.Players); } long currentUnixTime = System.DateTimeOffset.Now.ToUnixTimeSeconds(); // unix-time player.name = DataHolder.nickname; player.score = DataHolder.points; player.id = currentUnixTime * player.name.Length; LocalScoreTable.Players.Add(player); LocalScoreTable.save(); scoreTableContent.SetActive(false); scoreTableItemError.SetActive(true); } scoreTableItem.SetActive(false); }