public static class AvatarHelper { public static AvatarModel GetAvatarModel(int playerId, int face, int facePic, int job = 0) { bool isMyself = playerId == PlayerDatas.Instance.PlayerId; int nowFace; int nowfacePic; if (isMyself) { nowFace = GetMyAvatarID(); nowfacePic = GetMyAvatarFrameID(); } else { nowFace = GetOtherAvatarID(face, job); nowfacePic = GetOtherAvatarFrameID(facePic, job); } return new AvatarModel(playerId, nowFace, nowfacePic); } public static int GetAvatarID(int playerId, int nowID, int job) { bool isMyself = playerId == PlayerDatas.Instance.PlayerId; return isMyself ? GetMyAvatarID() : GetOtherAvatarID(nowID, job); } public static int GetAvatarFrameID(int playerId, int nowID, int job) { bool isMyself = playerId == PlayerDatas.Instance.PlayerId; return isMyself ? GetMyAvatarFrameID() : GetOtherAvatarFrameID(nowID, job); } // 获取其他玩家头像id(封包中的id在表中不存在显示默认的) public static int GetOtherAvatarID(int nowID, int job) { int defaultID = GetAvatarDefaultID(job); return PlayerFaceConfig.HasKey(nowID) ? nowID : defaultID; } public static int GetOtherAvatarFrameID(int nowID, int job) { int defaultID = GetAvatarFrameDefaultID(job); return PlayerFacePicConfig.HasKey(nowID) ? nowID : defaultID; } //返回玩家头像id(当前装备的过期了显示默认的) public static int GetMyAvatarID() { return PhantasmPavilionManager.Instance.TryGetNowShowID(PhantasmPavilionType.Face, out int defaultID) ? defaultID : 0; } public static int GetMyAvatarFrameID() { int job = PlayerDatas.Instance.baseData.Job; return PhantasmPavilionManager.Instance.TryGetNowShowID(PhantasmPavilionType.FacePic, out int defaultID) ? defaultID : 0; } //根据job 直接返回对应的默认头像id public static int GetAvatarDefaultID(int job) { return PhantasmPavilionManager.Instance.TryGetDefaultID(PhantasmPavilionType.Face, job, out int defaultID) ? defaultID : 0; } //根据job 直接返回对应的默认头像框id public static int GetAvatarFrameDefaultID(int job) { return PhantasmPavilionManager.Instance.TryGetDefaultID(PhantasmPavilionType.FacePic, job, out int defaultID) ? defaultID : 0; } public static int GetAvatarBgColor(int faceID) { int defaultColor = 1; if (!PlayerFaceConfig.HasKey(faceID)) return defaultColor; return PlayerFaceConfig.Get(faceID).BgColor; } //获取指定头像图片名 public static string GetAvatarBgColorStr(int faceID) { int bgColor = GetAvatarBgColor(faceID); return StringUtility.Contact("AvatarBgColor", bgColor); } }