备份CatanBuilding瘦身独立工程
This commit is contained in:
43
Assets/Scripts/Aquarium/FishEgg.cs
Normal file
43
Assets/Scripts/Aquarium/FishEgg.cs
Normal file
@@ -0,0 +1,43 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user