Files
JJBB/Assets/Project/Script/GUI/StroyCopy/DailyCopyInfoItemsPanelCtr.cs
2024-08-23 15:49:34 +08:00

149 lines
3.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}