SamsonGame/Assets/Scripts/Game/UI/Market/Previews/ConsumableItemPreviewer.cs

57 lines
1.5 KiB
C#
Raw Normal View History

2021-12-29 20:50:11 +03:00
using game;
using UnityEngine;
namespace RND
{
public class ConsumableItemPreviewer : BaseItemPreviewer
{
private ConfBaseShopItem _itemConf;
private GameObject _previewObject;
public override void ChangeItem(ConfBaseShopItem conf, bool needShade)
{
_itemConf = conf;
Error.Verify(_itemConf != null,
"ConsumableShopItemPreviewer: invalid type for item config " + conf.GetType());
TryDestroyLastPreview();
_previewObject = CreatePreview();
if (needShade)
ShadeObject(_previewObject);
}
public override void Show(bool skipAnimation = true)
{
if (_previewObject == null)
return;
_previewObject.SetActive(true);
}
public override void Hide(bool skipAnimation = true)
{
if (_previewObject == null)
return;
_previewObject.SetActive(false);
}
private void TryDestroyLastPreview()
{
if (_previewObject != null)
Destroy(_previewObject);
}
private GameObject CreatePreview()
{
GameObject obj = Assets.Create<GameObject>(_itemConf.previewPath);
obj.SetParent(transform);
obj.transform.localPosition = Vector3.zero;
return obj;
}
}
}