parent
b65a3bbd6d
commit
ba7d550c3f
@ -1,13 +1,32 @@
|
|||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Transactions;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
namespace Babushka.scripts.CSharp.GameEntity.Entities;
|
namespace Babushka.scripts.CSharp.GameEntity.Entities;
|
||||||
|
|
||||||
public class LoadedScenesEntity : Entity
|
public class LoadedScenesEntity : Entity
|
||||||
{
|
{
|
||||||
private HashSet<string> _loadedScenes = new();
|
private HashSet<string> _loadedScenes = new();
|
||||||
public override string EntityType => "LoadedScenesEntity";
|
public override string EntityType => OWN_TYPE_NAME;
|
||||||
|
public const string OWN_TYPE_NAME = "LoadedScenesEntity";
|
||||||
|
|
||||||
public void AddScene(string sceneName) => _loadedScenes.Add(sceneName);
|
public void AddScene(string sceneName) => _loadedScenes.Add(sceneName);
|
||||||
|
|
||||||
public bool WasSceneLoaded(string sceneName) => _loadedScenes.Contains(sceneName);
|
public bool WasSceneLoaded(string sceneName) => _loadedScenes.Contains(sceneName);
|
||||||
|
|
||||||
|
public override void SaveEntity(JObject json)
|
||||||
|
{
|
||||||
|
base.SaveEntity(json);
|
||||||
|
json["scenes"] = new JArray(_loadedScenes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void LoadEntity(JObject json)
|
||||||
|
{
|
||||||
|
base.LoadEntity(json);
|
||||||
|
JArray array = (JArray?) json["scenes"] ?? throw new Exception("No scenes found in LoadedScenesEntity.");
|
||||||
|
|
||||||
|
_loadedScenes = array.ToObject<HashSet<string>>()!;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in new issue