107 lines
3.8 KiB
C#
107 lines
3.8 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Games.Item;
|
|
using GCGame.Table;
|
|
using Games.Events;
|
|
|
|
public class AddPetFromBag : MonoBehaviour
|
|
{
|
|
public GameObject m_TransPosition;
|
|
public GameObject m_petItemClone;
|
|
public List<GameObject> petItems = new List<GameObject>();
|
|
|
|
public void AddNewFellow()
|
|
{
|
|
for (int i = 0; i < petItems.Count; i++)
|
|
{
|
|
GameObject.DestroyImmediate(petItems[i]);
|
|
}
|
|
ShowPetsInBag();
|
|
}
|
|
|
|
public void OnEnable()
|
|
{
|
|
ShowPetsInBag();
|
|
}
|
|
|
|
public void Close()
|
|
{
|
|
for(int i=0;i<petItems.Count;i++)
|
|
{
|
|
GameObject.Destroy(petItems[i]);
|
|
}
|
|
gameObject.SetActive(false);
|
|
}
|
|
|
|
public void ShowPetsInBag()
|
|
{
|
|
List<GameItem> gameItems = GameManager.gameManager.PlayerDataPool.BackPack.GetList();
|
|
int Count = gameItems.Count;
|
|
if (m_petItemClone == null)
|
|
return;
|
|
for (int i = 0; i < Count; i++)
|
|
{
|
|
GameItem gameItem = gameItems[i];
|
|
Tab_CommonItem tabItem = TableManager.GetCommonItemByID(gameItem.DataID, 0);
|
|
if (tabItem == null)
|
|
continue;
|
|
if (tabItem.ClassID == (int)ItemClass.FELLOW && tabItem.SubClassID == (int)FellowSubClass.CALL)
|
|
{
|
|
GameObject petObj = UnityEngine.Object.Instantiate(m_petItemClone) as GameObject;
|
|
if (petObj != null)
|
|
{
|
|
petObj.transform.SetParent(m_petItemClone.transform.parent);
|
|
petObj.transform.localEulerAngles = m_petItemClone.transform.localEulerAngles;
|
|
petObj.transform.localScale = m_petItemClone.transform.localScale;
|
|
petObj.SetActive(true);
|
|
Transform headIcon = petObj.transform.Find("headIcon");
|
|
if (headIcon != null)
|
|
{
|
|
Image headImage = headIcon.GetComponent<Image>();
|
|
if (headImage != null)
|
|
{
|
|
LoadAssetBundle.Instance.SetImageSprite(headImage, tabItem.Icon);
|
|
if (tabItem.QualityEffect > 0)
|
|
{
|
|
CommonItemContainerItem.ShowQualityEffect(true, tabItem.QualityEffect, headImage.transform);
|
|
}
|
|
else
|
|
{
|
|
CommonItemContainerItem.ShowQualityEffect(false, tabItem.QualityEffect, headImage.transform);
|
|
}
|
|
}
|
|
}
|
|
Transform QuilityIcon = petObj.transform.Find("Quility");
|
|
if (QuilityIcon != null)
|
|
{
|
|
Image QuilityImage = QuilityIcon.GetComponent<Image>();
|
|
if (QuilityImage != null)
|
|
LoadAssetBundle.Instance.SetImageSprite(QuilityImage, GCGame.Utils.GetItemQualityFrame(tabItem));
|
|
}
|
|
Button Btn = petObj.GetComponentInChildren<Button>();
|
|
if (Btn != null)
|
|
{
|
|
Btn.onClick.AddListener(delegate ()
|
|
{
|
|
UsePetComment(gameItem);
|
|
});
|
|
}
|
|
petItems.Add(petObj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void UsePetComment(GameItem gameItem)
|
|
{
|
|
if (gameItem == null)
|
|
return;
|
|
if (gameItem.CanUse() == false)
|
|
return;
|
|
ItemTooltipsLogic.ShowItemTooltip(gameItem, ItemTooltipsLogic.ShowType.Normal, transform.position);
|
|
}
|
|
|
|
}
|