WuhuIslandTesting/Library/PackageCache/com.stresslevelzero.marrow.sdk@1.2.0/Scripts/SLZ.Marrow/SLZ.Marrow.Forklift.Model/ModTarget.cs

44 lines
1.1 KiB
C#
Raw Normal View History

2025-01-07 02:06:59 +01:00
using System;
using Newtonsoft.Json.Linq;
using SLZ.Serialize;
using UnityEngine;
namespace SLZ.Marrow.Forklift.Model
{
[Serializable]
public abstract class ModTarget : IPackable
{
#if UNITY_2021_3_OR_NEWER
[field: SerializeField]
#endif
public string ThumbnailOverride { get; set; }
public virtual void Pack(ObjectStore store, JObject json)
{
json.Add("thumbnailOverride", ThumbnailOverride);
}
public virtual void Unpack(ObjectStore store, string objectId)
{
if (store.TryGetJSON("thumbnailOverride", objectId, out var thumbnailOverrideValue))
{
ThumbnailOverride = thumbnailOverrideValue.ToObject<string>();
}
}
public static ModTarget Create(Type type)
{
if (type == typeof(DownloadableModTarget))
{
return new DownloadableModTarget();
}
if (type == typeof(ModIOModTarget))
{
return new ModIOModTarget();
}
return null;
}
}
}