Files
test/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs
T
2026-01-29 13:58:15 +07:00

151 lines
3.5 KiB
C#

using BrewMonster.Network;
using System.Collections.Generic;
using UnityEngine;
namespace BrewMonster.UI
{
public abstract class AUIDialog : MonoBehaviour
{
protected Dictionary<int, string> m_StringTable = new Dictionary<int, string>();
protected bool m_bShow = false;
protected string m_strDataName = "";
protected string m_strDataPtrName = "";
protected uint m_dwData;
protected object m_pvData;
protected AUIManager m_pAUIManager = null;
string m_szName;
private bool m_bUpdateRenderTarget = false;
public virtual void Show(bool value)
{
gameObject.SetActive(value);
OnShowDialogue();
}
public string GetName()
{
return m_szName;
}
public bool SetName(string pszName)
{
if (m_pAUIManager.m_DlgName.ContainsKey(pszName))
return false;
//m_pAUIManager.m_DlgName.Remove(m_szName);
m_szName = pszName;
m_pAUIManager.m_DlgName[m_szName] = this;
return true;
}
public void SetData(uint dwData, string strName = "")
{
m_strDataName = strName;
m_dwData = dwData;
}
public uint GetData()
{
return m_dwData;
}
public object GetDataPtr(string strName)
{
//if (0 != m_pvData && strName != m_strDataPtrName)
// AUI_ReportError(__LINE__, 1, "AUIDialog::GetDataPtr(), data name not match");
return m_pvData;
}
public bool IsShow()
{
return m_bShow;
}
public void SetDataPtr(object pvData, string strName)
{
m_strDataPtrName = strName;
m_pvData = pvData;
}
public CECGameUIMan GetGameUIMan()
{
return EC_Game.GetGameRun().GetUIManager().GetInGameUIMan();
}
public CECHostPlayer GetHostPlayer()
{
return EC_Game.GetGameRun().GetHostPlayer();
}
public string GetStringFromTable(int idString)
{
CECGameUIMan gameUIMan = EC_Game.GetGameRun().GetUIManager().GetInGameUIMan();
string str = gameUIMan.GetStringFromAuiDialogTable(idString);
if (str == null)
{
return gameUIMan.GetStringFromTable(idString);
}
return str;
}
public AUIManager GetAUIManager()
{
return m_pAUIManager;
}
public void SetAUIManager(AUIManager pAUIManager)
{
m_pAUIManager = pAUIManager;
}
public virtual void OnEnable()
{
}
public virtual void OnDisable()
{
}
public virtual void Awake()
{
m_szName = "Dialog_";
}
public virtual void Start()
{
}
public virtual void Update()
{
Render();
}
public virtual void OnShowDialogue()
{
}
public virtual bool Render()
{
return false;
}
public virtual void UpdateRenderTarget()
{
m_bUpdateRenderTarget = true;
}
public bool NeedRenderTargetUpdate()
{
return m_bUpdateRenderTarget;
}
public void ResetRenderTargetFlag()
{
m_bUpdateRenderTarget = false;
}
}
}