107 lines
2.9 KiB
C#
107 lines
2.9 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class UnitSetUiCtrl : MonoBehaviour
|
|
{
|
|
[SerializeField] GameObject itemPrefab;
|
|
[SerializeField] Transform itemContent;
|
|
[SerializeField] GameObject unitPrefab;
|
|
[SerializeField] Transform unitContent;
|
|
|
|
[SerializeField] GameObject objInfo;
|
|
[SerializeField] GameObject objItemView;
|
|
|
|
[SerializeField] GameObject objEquipment;
|
|
[SerializeField] GameObject objDeck;
|
|
|
|
GameObjectPool<ItemPrefab> itemPrefabList;
|
|
GameObjectPool<UnitPrefab> unitPrefabList;
|
|
|
|
List<ItemPrefab> onItemPrefabList;
|
|
List<UnitPrefab> onUnitPrefabList;
|
|
|
|
private void Awake()
|
|
{
|
|
onItemPrefabList = new List<ItemPrefab>();
|
|
onUnitPrefabList = new List<UnitPrefab>();
|
|
itemPrefabList = new GameObjectPool<ItemPrefab>(5, () =>
|
|
{
|
|
var obj = Instantiate(itemPrefab, itemContent);
|
|
obj.SetActive(false);
|
|
var clone = obj.GetComponent<ItemPrefab>();
|
|
return clone;
|
|
});
|
|
unitPrefabList = new GameObjectPool<UnitPrefab>(5, () =>
|
|
{
|
|
var obj = Instantiate(unitPrefab, unitContent);
|
|
obj.SetActive(false);
|
|
var clone = obj.GetComponent<UnitPrefab>();
|
|
return clone;
|
|
});
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
ButtonStatus();
|
|
onItemPrefabList.Clear();
|
|
foreach (var item in Statics.equipment)
|
|
{
|
|
ItemPrefab prefab = itemPrefabList.pop();
|
|
prefab.SetData(item);
|
|
prefab.gameObject.SetActive(true);
|
|
onItemPrefabList.Add(prefab);
|
|
}
|
|
|
|
foreach (var item in Statics.deckUnit)
|
|
{
|
|
UnitPrefab prefab = unitPrefabList.pop();
|
|
prefab.SetData(item.Value);
|
|
prefab.gameObject.SetActive(true);
|
|
onUnitPrefabList.Add(prefab);
|
|
}
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
foreach (var item in onItemPrefabList)
|
|
{
|
|
item.gameObject.SetActive(false);
|
|
itemPrefabList.push(item);
|
|
}
|
|
foreach (var item in onUnitPrefabList)
|
|
{
|
|
item.gameObject.SetActive(false);
|
|
unitPrefabList.push(item);
|
|
}
|
|
}
|
|
|
|
public void ButtonStatus()
|
|
{
|
|
objInfo.SetActive(true);
|
|
objItemView.SetActive(false);
|
|
objEquipment.SetActive(false);
|
|
objDeck.SetActive(false);
|
|
}
|
|
public void ButtonEquipment()
|
|
{
|
|
objInfo.SetActive(false);
|
|
objItemView.SetActive(true);
|
|
objEquipment.SetActive(true);
|
|
objDeck.SetActive(false);
|
|
}
|
|
public void ButtonDeck()
|
|
{
|
|
objInfo.SetActive(false);
|
|
objItemView.SetActive(false);
|
|
objEquipment.SetActive(false);
|
|
objDeck.SetActive(true);
|
|
}
|
|
public void ButtoncHaracteristic()
|
|
{
|
|
objInfo.SetActive(false);
|
|
objItemView.SetActive(false);
|
|
objEquipment.SetActive(false);
|
|
objDeck.SetActive(false);
|
|
}
|
|
}
|