From c00a68d068619fee809557b9133e7d82246ebfe2 Mon Sep 17 00:00:00 2001 From: HungDK <> Date: Fri, 9 Jan 2026 15:17:50 +0700 Subject: [PATCH] Add navigate work, event --- Assets/Scripts/CECHostPlayer.cs | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 14eb17e8ef..d3ad61433a 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -191,6 +191,51 @@ namespace BrewMonster return m_taskInventory; } + // Get work manager // 获取工作管理器 + public CECHPWorkMan GetWorkMan() + { + return m_pWorkMan; + } + + // Get navigate player // 获取导航玩家 + private CECHostNavigatePlayer m_pNavigatePlayer = null; + public CECHostNavigatePlayer GetNavigatePlayer() + { + if (m_pNavigatePlayer == null) + { + // TODO: Implement proper creation of navigate player + // m_pNavigatePlayer = CreateNavigatePlayer(); + } + return m_pNavigatePlayer; + } + + // Check if in force navigate state // 检查是否在强制导航状态 + public bool IsInForceNavigateState() + { + CECHostNavigatePlayer pNavigatePlayer = GetNavigatePlayer(); + if (pNavigatePlayer != null && pNavigatePlayer.GetNavigateCtrl() != null) + { + return pNavigatePlayer.GetNavigateCtrl().IsInForceNavigateState(); + } + return false; + } + + // Handle navigation event // 处理导航事件 + public void OnNaviageEvent(int task, int e) + { + UnityEngine.Debug.Log($"[CECHostPlayer] OnNaviageEvent: Task={task}, Event={e} ({(BrewMonster.Scripts.CECNavigateCtrl.NavigateEvent)e})"); + CECHostNavigatePlayer pNavigatePlayer = GetNavigatePlayer(); + if (pNavigatePlayer != null) + { + UnityEngine.Debug.Log($"[CECHostPlayer] OnNaviageEvent: Forwarding to NavigatePlayer"); + pNavigatePlayer.OnNavigateEvent(task, e); + } + else + { + UnityEngine.Debug.LogWarning($"[CECHostPlayer] OnNaviageEvent: NavigatePlayer is null"); + } + } + public EC_Inventory GetInventory(byte byPackage) { switch (byPackage)