Fix null exception of task dlg

This commit is contained in:
HungDK
2026-01-05 13:31:02 +07:00
parent 8da1b60188
commit 03d41fea9a
+12 -5
View File
@@ -483,7 +483,13 @@ namespace BrewMonster.Scripts.Task.UI
// ATaskTemplMan *pMan = GetGame()->GetTaskTemplateMan();
ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan();
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
// Host player can be null during early UI bootstrap (before InitCharacter/self-info).
// In that case just no-op; quest UI will populate once the player exists and the dialog is reopened/refreshed.
var host = EC_Game.GetGameRun()?.GetHostPlayer();
if (host == null) return true;
CECTaskInterface pTask = host.GetTaskInterface();
if (pTask == null)
{
@@ -610,7 +616,7 @@ namespace BrewMonster.Scripts.Task.UI
// Setup managers and UI references
ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan();
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
CECTaskInterface pTask = GetHostPlayer()?.GetTaskInterface();
var pTextDesc = m_pTxt_Content;
var pTextItem = m_pTxt_QuestItem;
@@ -871,7 +877,7 @@ namespace BrewMonster.Scripts.Task.UI
{
var pTreeTask = m_pTv_Quest;
var pMan = EC_Game.GetTaskTemplateMan();
var pTask = GetHostPlayer().GetTaskInterface();
var pTask = GetHostPlayer()?.GetTaskInterface();
if (pTreeTask == null || pMan == null || pTask == null) return;
ATaskTempl parentTempl = pMan.GetTaskTemplByID(idTask);
@@ -1497,7 +1503,7 @@ namespace BrewMonster.Scripts.Task.UI
private void UpdateTaskConfirm(int idTask, bool bFinishType)
{
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
CECTaskInterface pTask = GetHostPlayer()?.GetTaskInterface();
if (m_pBtn_FinishTask != null && pTask != null && bFinishType)
{
m_pBtn_FinishTask.gameObject.SetActive(true);
@@ -1575,7 +1581,8 @@ namespace BrewMonster.Scripts.Task.UI
// pTreeTask.SetItemTextColor(pParent, GetTaskColor(pTemp));
}
CECTaskInterface pTask = GetHostPlayer().GetTaskInterface();
CECTaskInterface pTask = GetHostPlayer()?.GetTaskInterface();
if (pTask == null) return;
string strItem = GetTaskNameWithColor(pTemp);
bool bTaskPushed = pMan.IsTaskToPush(id) && !pTask.HasTask((uint)id);
if (bTaskPushed) {