Files
JJBB/Assets/Project/Script/GUI/StroyCopy/DailyCopyInfoItemsPanelCtr.cs

149 lines
3.9 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using GCGame.Table;
using Module.Log;
using System;
public class DailyCopyInfoItemsPanelCtr : MonoBehaviour {
private static DailyCopyInfoItemsPanelCtr instance;
public static DailyCopyInfoItemsPanelCtr Instance
{
get { return instance; }
}
public Button closeUseItemsPanelBtn;
public UIContainerBase useItemContainer;
private void Awake()
{
if (instance == null)
{
instance = this;
}
closeUseItemsPanelBtn.onClick.AddListener(OnHideUseItemPanelBtnClick);
}
public static void Show(int copyID = -1)
{
UIManager.ShowUI(UIInfo.DailyCopyInfoItemsPanel,
(bool isSuccess, object param) =>
{
if (isSuccess && DailyCopyInfoItemsPanelCtr.Instance != null)
{
DailyCopyInfoItemsPanelCtr.Instance.ShowWithCopyID((int)param);
}
else
{
LogModule.ErrorLog("Can't show DailyCopyInfoItemsPanel !");
}
}, copyID);
}
public void ShowWithCopyID(int copyID)
{
Tab_DailyCopy tab = TableManager.GetDailyCopyByID(copyID);
if (tab == null)
{
LogModule.ErrorLog("Can't show UseableItemPanel, table is null");
return;
}
string rawParam = tab.UseItemParam;
string[] param = rawParam.Trim('"', ' ', '\'').Split('*');
List<int> itemIDs = new List<int>();
for (int i = 0; i < param.Length; ++i)
{
try
{
int id = -1;
if (!string.IsNullOrEmpty(param[i]))
{
id = Convert.ToInt32(param[i].Trim(' ', '"'));
}
if (id > 0)
{
itemIDs.Add(id);
}
}
catch (Exception e)
{
}
}
for (int i = 0; i < itemIDs.Count; ++i)
{
useItemContainer.InitContentItem(itemIDs);
}
}
#region id=62006210
public static void L_Show(int SystemParamID = -1)
{
UIManager.ShowUI(UIInfo.DailyCopyInfoItemsPanel,
(bool isSuccess, object param) =>
{
if (isSuccess && DailyCopyInfoItemsPanelCtr.Instance != null)
{
DailyCopyInfoItemsPanelCtr.Instance.L_ShowWithSystemParamID((int)param);
}
else
{
LogModule.ErrorLog("Can't show DailyCopyInfoItemsPanel !");
}
}, SystemParamID);
}
public void L_ShowWithSystemParamID(int systemParamID)
{
Tab_SystemParam tab = TableManager.GetSystemParamByID(systemParamID, 0);
if (tab == null)
{
LogModule.ErrorLog("Can't show UseableItemPanel, table is null");
return;
}
string rawParam = tab.StringValue;
string[] param = rawParam.Trim('"', ' ', '\'').Split('|');
List<int> itemIDs = new List<int>();
for (int i = 0; i < param.Length; ++i)
{
try
{
int id = -1;
if (!string.IsNullOrEmpty(param[i]))
{
id = Convert.ToInt32(param[i].Trim(' ', '"'));
}
if (id > 0)
{
itemIDs.Add(id);
}
}
catch (Exception e)
{
}
}
for (int i = 0; i < itemIDs.Count; ++i)
{
useItemContainer.InitContentItem(itemIDs);
}
}
#endregion
private void OnHideUseItemPanelBtnClick()
{
UIManager.CloseUI(UIInfo.DailyCopyInfoItemsPanel);
}
}