44 lines
1.0 KiB
C#
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();
|
|
}
|
|
}
|