diff --git a/Salvavida.Generator.Debug/UserModel.cs b/Salvavida.Generator.Debug/UserModel.cs index fd435c5..51146ea 100644 --- a/Salvavida.Generator.Debug/UserModel.cs +++ b/Salvavida.Generator.Debug/UserModel.cs @@ -21,7 +21,7 @@ public partial class UserModel : ISavable { public event PropertyChangeEventHandler PropertyChanged; - public ISavable Parent { get; private set; } + public ISavable SvParent { get; private set; } public string SvId { get; set; } @@ -66,7 +66,7 @@ public void SetDirty(bool dirty, bool recursively) public void SetParent(ISavable parent) { - Parent = parent; + SvParent = parent; } } diff --git a/Salvavida.Generator/BasicCodeGenerator.cs b/Salvavida.Generator/BasicCodeGenerator.cs index 26f4389..e394de2 100644 --- a/Salvavida.Generator/BasicCodeGenerator.cs +++ b/Salvavida.Generator/BasicCodeGenerator.cs @@ -385,7 +385,7 @@ protected virtual void WriteImplementationsHead(ScriptBuilder sb, CodeGeneration sb.WriteLine($"public event PropertyChangeEventHandler<{_infoStore!.className}> PropertyChanged;"); sb.WriteLine(); AddAttributePreventSerialize(sb, true); - sb.WriteLine("public ISavable Parent { get; private set; }"); + sb.WriteLine("public ISavable SvParent { get; private set; }"); sb.WriteLine(); AddAttributePreventSerialize(sb, false); sb.WriteLine("private string _svId;"); @@ -449,7 +449,7 @@ protected virtual void WriteImplementationsFoot(ScriptBuilder sb, CodeGeneration { using (sb.CurlyBracketsScope()) { - sb.WriteLine("Parent = parent;"); + sb.WriteLine("SvParent = parent;"); } } sb.WriteLine(); diff --git a/Salvavida/Package/CodeGen/Salvavida.Generator.dll b/Salvavida/Package/CodeGen/Salvavida.Generator.dll index 1a18ca3..713985e 100644 Binary files a/Salvavida/Package/CodeGen/Salvavida.Generator.dll and b/Salvavida/Package/CodeGen/Salvavida.Generator.dll differ diff --git a/Salvavida/Package/CodeGen/Salvavida.Generator.pdb b/Salvavida/Package/CodeGen/Salvavida.Generator.pdb index 03cc854..008eea7 100644 Binary files a/Salvavida/Package/CodeGen/Salvavida.Generator.pdb and b/Salvavida/Package/CodeGen/Salvavida.Generator.pdb differ diff --git a/Salvavida/Package/Runtime/IBackupService.cs b/Salvavida/Package/Runtime/IBackupService.cs index 9e95230..c16188d 100644 --- a/Salvavida/Package/Runtime/IBackupService.cs +++ b/Salvavida/Package/Runtime/IBackupService.cs @@ -1,5 +1,6 @@ -#if USE_UNITASK && !SV_FORCE_TASK using System.Threading; + +#if USE_UNITASK && !SV_FORCE_TASK using Task = Cysharp.Threading.Tasks.UniTask; #else using Task = System.Threading.Tasks.Task; diff --git a/Salvavida/Package/Runtime/ISavable.cs b/Salvavida/Package/Runtime/ISavable.cs index ed55e51..7552620 100644 --- a/Salvavida/Package/Runtime/ISavable.cs +++ b/Salvavida/Package/Runtime/ISavable.cs @@ -2,7 +2,7 @@ namespace Salvavida { public interface ISavable { - ISavable? Parent { get; } + ISavable? SvParent { get; } string? SvId { get; set; } bool IsDirty { get; } diff --git a/Salvavida/Package/Runtime/ObservableCollection.cs b/Salvavida/Package/Runtime/ObservableCollection.cs index 56dfdd3..7bd5457 100644 --- a/Salvavida/Package/Runtime/ObservableCollection.cs +++ b/Salvavida/Package/Runtime/ObservableCollection.cs @@ -16,7 +16,7 @@ public ObservableCollection(string svid, bool saveSeparately) private readonly string _svid; protected bool _isDirty = true; - public ISavable? Parent { get; protected set; } + public ISavable? SvParent { get; protected set; } bool ISavable.IsDirty => _isDirty; public abstract bool IsSavableCollection { get; } @@ -36,9 +36,9 @@ void ISavable.SetDirty(bool dirty, bool _) public void TrySave(Serializer? serializer, PathBuilder pathBuilder) { - if (Parent == null || string.IsNullOrEmpty(SvId) || !_isDirty) + if (SvParent == null || string.IsNullOrEmpty(SvId) || !_isDirty) return; - serializer ??= Parent.GetSerializer(); + serializer ??= SvParent.GetSerializer(); if (serializer == null) return; pathBuilder.Push(SvId, SvHelper.GetPathType(this)); @@ -67,7 +67,7 @@ void ISavable.SetParent(ISavable? parent) protected void SetParent(ISavable? parent) { - Parent = parent; + SvParent = parent; } public virtual void BeforeSerialize(Serializer serializer) @@ -125,7 +125,7 @@ protected void TryUnWatch(TElem? obj) protected void OnCollectionChange(CollectionChangeInfo e) { _isDirty = true; - var serializer = Parent?.GetSerializer(); + var serializer = SvParent?.GetSerializer(); if (serializer != null) { if (SaveSeparately) @@ -159,7 +159,7 @@ protected void TrySaveSeparatelyByEvent(Serializer serializer, PathBuilder pathB protected virtual void TrySaveItems(Serializer serializer, PathBuilder pathBuilder, CollectionChangeInfo e) { - if (string.IsNullOrEmpty(SvId) || Parent == null) + if (string.IsNullOrEmpty(SvId) || SvParent == null) return; switch (e.Action) { diff --git a/Salvavida/Package/Runtime/SvHelper.cs b/Salvavida/Package/Runtime/SvHelper.cs index 6a1fe02..ecf779e 100644 --- a/Salvavida/Package/Runtime/SvHelper.cs +++ b/Salvavida/Package/Runtime/SvHelper.cs @@ -30,7 +30,7 @@ public static void SetChild(this ISavable parent, T child) public static ReadOnlySpan GetParentPathAsSpan(this ISavable? savable, PathBuilder pathBuilder) { - return GetSavePathAsSpan(savable?.Parent, pathBuilder); + return GetSavePathAsSpan(savable?.SvParent, pathBuilder); } public static ReadOnlySpan GetSavePathAsSpan(this ISavable? savable, PathBuilder pathBuilder) @@ -47,7 +47,7 @@ public static ReadOnlySpan GetSavePathAsSpan(this ISavable? savable, PathB { TryThrowOnSvIdEmpty(savable); _tempPathBuilder.Push(savable.SvId!, GetPathType(savable)); - savable = savable.Parent; + savable = savable.SvParent; } while (!_tempPathBuilder.IsEmpty) { @@ -72,7 +72,7 @@ public static PathBuilder.Type GetPathType(T sv) where T : ISavable { if (savable is ISerializeRoot root) return root.Serializer; - savable = savable.Parent; + savable = savable.SvParent; } if (x > 100) throw new StackOverflowException(); @@ -105,7 +105,7 @@ public static void TrySave(this TParent savable, string propName, T } // if savable's parent is not null, then the save action will perform by it's parent, not it self. - var parent = savable.Parent; + var parent = savable.SvParent; if (parent != null) return; @@ -138,7 +138,7 @@ public static void TryThrowOnSvIdEmpty(T sv) where T : ISavable throw new NullReferenceException(nameof(sv)); if (string.IsNullOrEmpty(sv.SvId)) { - if (sv.Parent != null) + if (sv.SvParent != null) throw new ArgumentNullException($"The child object of {sv.GetSavePathAsSpan(new PathBuilder()).ToString()} has a empty SvId"); else throw new ArgumentException(nameof(sv.SvId));