Files
2026-05-26 16:15:54 +08:00

44 lines
1.0 KiB
C#

using asap.core;
using cfg;
using UnityEngine;
using UnityEngine.AddressableAssets;
public class FishEgg : AquariumFishBase
{
GameObject goPrefab;
AquariumEgg egg;
public async void LoadEgg(AquariumSlotData slotData)
{
this.slotData = slotData;
if (egg != null)
{
return;
}
Tables tables = GContext.container.Resolve<Tables>();
egg = tables.TbAquariumEgg.GetOrDefault(slotData.eggId);
goPrefab = await Addressables.InstantiateAsync(egg.Prefab, transform).Task;
if (egg == null)
{
Addressables.ReleaseInstance(goPrefab);
goPrefab = null;
}
else if (goPrefab != null)
{
goPrefab.transform.localPosition = Vector3.zero;
}
}
public void RemoveEgg()
{
egg = null;
if (goPrefab != null)
{
Addressables.ReleaseInstance(goPrefab);
goPrefab = null;
}
}
private void OnDestroy()
{
RemoveEgg();
}
}