This commit is contained in:
2026-09-15 16:30:20 +08:00
parent c69946e68c
commit a1a4beac5b
20 changed files with 1500 additions and 553 deletions
@@ -91,6 +91,12 @@ public class RoomPlayerInfo
/// <summary>VIP 等级</summary>
public int vipLevel;
/// <summary>玩家等级(后端 RoomInfo 下发)</summary>
public int level;
/// <summary>玩家经验(0~1,后端暂未下发,字段先占位等补充)</summary>
public float exp;
/// <summary>卡牌等级</summary>
public int userCardLevel;
@@ -38,6 +38,11 @@ namespace Assets.MyGame.Scripts.Net.WebResponses
/// </summary>
public int Level { get; set; } = 0;
/// <summary>
/// 玩家经验(0~1,后端暂未下发,字段先占位等补充)
/// </summary>
public float Exp { get; set; } = 0f;
/// <summary>
/// Vip等级
/// </summary>
+58 -7
View File
@@ -69,10 +69,12 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
// 玩家基础信息
// -------------------------
[Header("玩家信息")]
public string user;
public TextMeshProUGUI tmp_UserNumber;
public TextMeshProUGUI tmp_UserName;
public Image img_Head;
public string user;//玩家唯一ID
public TextMeshProUGUI tmp_UserNumber;//ID:玩家编号
public TextMeshProUGUI tmp_UserName;//名字
public TextMeshProUGUI tmp_UserLevel;//LV:等级
public Slider slider_UserLevelEXP;//EXP:经验条
public Image img_Head;//头像
public Image img_Vip;
public List<GameObject> sprite_VipList;//这里一共有11个正好对应0-10级vip
public List<GameObject> sprite_VipLevelBG; //这里有5个 每两级对应一个0级用最基础的
@@ -978,14 +980,16 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
/// <param name="avatar">头像名/URL(走 GameManager 头像缓存,找不到回退默认头像)</param>
/// <param name="vipLevel">VIP 等级 0~10</param>
/// <param name="userNumber">玩家编号(短ID,显示在 tmp_UserNumber;空则回退显示 userId)</param>
public void SetUserInfo(string userId, string userName, string avatar, int vipLevel, string userNumber = null)
/// <param name="level">玩家等级(显示在 tmp_UserLevel)</param>
/// <param name="exp">玩家经验 0~1(显示在 slider_UserLevelEXP;后端暂未下发,先占位)</param>
public void SetUserInfo(string userId, string userName, string avatar, int vipLevel, string userNumber = null, int level = 0, float exp = 0f)
{
// 玩家 ID:优先显示后端下发的短编号 UserNumber,没有再用 userId
// 玩家 ID:优先显示后端下发的短编号 UserNumber,没有再用 userId。带 "ID:" 前缀
if (tmp_UserNumber != null)
{
string displayId = string.IsNullOrEmpty(userNumber) ? userId : userNumber;
if (!string.IsNullOrEmpty(displayId))
tmp_UserNumber.text = displayId;
tmp_UserNumber.text = "ID:" + displayId;
}
// 昵称:非本人的名字打码(前2后2保留,中间***),自己原样显示
@@ -994,6 +998,14 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
? userName
: MaskUserName(userName);
// 等级:带 "LV:" 前缀显示玩家等级
if (tmp_UserLevel != null && level > 0)
tmp_UserLevel.text = "LV:" + level;
// 经验条:exp 为 0~1 的进度值(后端经验值字段暂未下发,明天补充后直接生效)
if (slider_UserLevelEXP != null)
slider_UserLevelEXP.value = Mathf.Clamp01(exp);
// 头像:优先 GameManager 头像缓存(Resources/Avatar),查不到用默认头像
if (img_Head != null)
{
@@ -1671,6 +1683,45 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
WebSocketSendList.ChangeGunMultiple(roomId, user, newConsume);
}
/// <summary>
/// 非本地座位隐藏加减炮倍 UI(GameMainPanel 进房时对自己以外的座位调用):
/// - Normal:隐藏座位上的 btn_TurretAdd / btn_TurretMinus(未拖引用为 null 时跳过)
/// - XJMH:加减倍按钮适配在炮台上(TurretData.obj_Add / obj_Down),座位上没有按钮引用,
/// 把 XJMH 炮台列表里每把炮台的加减倍都隐藏(全部藏,之后切换炮台新炮台的也不会再显示)
/// </summary>
public void HideTurretAddMinusUI()
{
if (btn_TurretAdd != null)
btn_TurretAdd.gameObject.SetActive(false);
if (btn_TurretMinus != null)
btn_TurretMinus.gameObject.SetActive(false);
if (turretControlMode != TurretControlMode.XJMH) return;
if (xjmhTurretList != null && xjmhTurretList.Count > 0)
{
foreach (var td in xjmhTurretList)
HideTurretAddDown(td);
}
else
{
// 兜底:列表未配置时扫 turretParent 子对象(与 SwitchTurretChild 回退一致)
Transform parent = turretParent != null ? turretParent : transform;
for (int i = 0; i < parent.childCount; i++)
HideTurretAddDown(parent.GetChild(i).GetComponent<TurretData>());
}
}
/// <summary>隐藏一把 XJMH 炮台上的加减倍对象(obj_Add / obj_Down,未拖引用跳过)</summary>
private static void HideTurretAddDown(TurretData td)
{
if (td == null) return;
if (td.obj_Add != null)
td.obj_Add.SetActive(false);
if (td.obj_Down != null)
td.obj_Down.SetActive(false);
}
public void ChangeTurretMinusConsumeNum()
{
// ⭐ paoBeiList 为从大到小排列:减号=更小的炮倍=更大的索引,到尾(最小档)回绕到头部(最大档)
@@ -96,6 +96,10 @@ public class TurretData : MonoBehaviour
[Tooltip("待机动画变体索引:0=Idle0 1=Idle1...")]
public int idleIndex = 0;
[Header("XJMH加减炮倍")]
public GameObject obj_Add;
public GameObject obj_Down;
// ---- 战神模式运行时缓存(首次 PlayAnimator 时检测)----
private bool _warGodAnimChecked; // 是否已检测过参数
private bool _warGodAnimMode; // true=战神 PlayFire 约定