Fetch player, player's info in search panel

This commit is contained in:
HungDK
2026-02-02 09:25:11 +07:00
parent b6a54a1b89
commit 53d2de6a6c
3 changed files with 33 additions and 7 deletions
@@ -669,6 +669,23 @@ namespace PerfectWorld.Scripts.Managers
return CECGameRun.Instance.GetHostPlayer();
}
/// <summary>Returns character IDs of all other players in the world (excluding host). Used e.g. by DlgArrangeTeam for nearby list.</summary>
public List<int> GetOtherPlayerCharacterIds()
{
var list = new List<int>();
CECHostPlayer pHost = GetHostPlayer();
int idHost = pHost != null ? pHost.GetCharacterID() : 0;
lock (m_csPlayerTab)
{
foreach (int cid in m_PlayerTab.Keys)
{
if (cid != idHost)
list.Add(cid);
}
}
return list;
}
public bool OnMsgPlayerExtProp(ECMSG Msg)
{
object pData;
+15 -7
View File
@@ -1,4 +1,4 @@
using Animancer;
using Animancer;
using BrewMonster;
using BrewMonster.Managers;
using BrewMonster.Network;
@@ -1280,14 +1280,14 @@ namespace BrewMonster
// UpdateWeaponHangerPosBySkillAction(idSkill); // 根据技能播放的动作,更改武器悬挂位置 / Update weapon hanger position based on skill action
return true;
}
/// <summary>Override in CECHostPlayer to return current team; base returns null.</summary>
public virtual CECTeam GetTeam() { return null; }
public bool IsTeamMember(int idPlayer)
{
//TODO: HoangDev implement later
return false;
/* if (!m_pTeam)
return false;
return m_pTeam->GetMemberByID(idPlayer) ? true : false;*/
var pTeam = GetTeam();
if (pTeam == null) return false;
return pTeam.GetMemberByID(idPlayer) != null;
}
public bool PlaySkillAttackActionWithName(int idSkill, string szActName, bool bNoFX = false, CECAttackEvent attackEvent = null)
{
@@ -1500,6 +1500,14 @@ namespace BrewMonster
return m_strName;
}
/// <summary>Set player display name (used when base info is received, e.g. else player).</summary>
protected void SetPlayerName(string name)
{
m_strName = name ?? "";
if (gameObject != null)
gameObject.name = m_strName;
}
public enumWingType GetWingType() { return m_wingType; }
@@ -637,6 +637,7 @@ namespace BrewMonster
m_iProfession = iProf;
m_iGender = iGender;
m_bBaseInfoReady = true;
SetPlayerName(szName ?? "");
}
// Level up
public void LevelUp()