mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
27 lines
660 B
C#
27 lines
660 B
C#
using AssetRipper.Assets;
|
|
using AssetRipper.Assets.Metadata;
|
|
using System.Diagnostics;
|
|
|
|
namespace AssetRipper.Processing;
|
|
|
|
public abstract class AssetGroup : UnityObjectBase
|
|
{
|
|
protected AssetGroup(AssetInfo assetInfo) : base(assetInfo)
|
|
{
|
|
}
|
|
|
|
public abstract IEnumerable<IUnityObjectBase> Assets { get; }
|
|
|
|
public virtual void SetMainAsset()
|
|
{
|
|
MainAsset = this;
|
|
foreach (IUnityObjectBase asset in Assets)
|
|
{
|
|
Debug.Assert(asset.MainAsset is null || asset.MainAsset == this, "Asset already has a main asset assigned.");
|
|
asset.MainAsset = this;
|
|
}
|
|
}
|
|
|
|
protected PPtr AssetToPPtr(IUnityObjectBase? asset) => Collection.ForceCreatePPtr(asset);
|
|
}
|