Files
Shopping_UnityVR/Assets/02_Scripts/UI/ShoppingOrderView.cs

60 lines
1.7 KiB
C#

using UnityEngine;
using VRShopping.Shopping;
namespace VRShopping.UI
{
public class ShoppingOrderView : MonoBehaviour
{
[SerializeField] private ShoppingOrderList _orderList;
[SerializeField] private ShoppingOrderRow _rowPrefab;
[SerializeField] private Transform _rowContainer;
[SerializeField] private Animator _anim;
[SerializeField] private GameObject _paper;
private bool _visibleShoppingOrderList = false;
private void Start()
{
Rebuild();
}
public void Rebuild()
{
if (_orderList == null || _rowPrefab == null || _rowContainer == null) return;
for (int i = _rowContainer.childCount - 1; i >= 0; i--)
{
Destroy(_rowContainer.GetChild(i).gameObject);
}
foreach (var entry in _orderList.Entries)
{
var row = Instantiate(_rowPrefab, _rowContainer);
row.Bind(entry);
}
}
public async Awaitable ToggleShoppingOrderList()
{
_visibleShoppingOrderList = !_visibleShoppingOrderList;
await OnOffShoppingOrderList(_visibleShoppingOrderList);
}
private async Awaitable OnOffShoppingOrderList(bool isOn)
{
if(isOn)
{
_paper.SetActive(true);
_anim.SetTrigger("OnVisibleShoppingOrderListTrigger");
}
else
{
_anim.SetTrigger("OffVisibleShoppingOrderListTrigger");
await Util.RunDelayed(1f,()=>{
_paper.SetActive(false);
});
}
}
}
}