| public static class AvatarHelper  | 
| {  | 
|   | 
|     public static AvatarModel GetAvatarModel(int playerId, int face, int facePic, int job = 0)  | 
|     {  | 
|         bool isMyself = playerId == PlayerDatas.Instance.PlayerId;  | 
|         return isMyself ? GetMyAvatarModel() : GetOtherAvatarModel(face, facePic, job);  | 
|     }  | 
|   | 
|     //获取头像信息(如果表中不存在,返回默认的)  | 
|     public static AvatarModel GetOtherAvatarModel(int face, int facePic, int job = 0)  | 
|     {  | 
|         int nowFace = GetOtherAvatarID(face, job);  | 
|         int nowfacePic = GetOtherAvatarFrameID(facePic, job);  | 
|         int faceEffectID = GetAvatarEffectID(nowFace);  | 
|         int facePicEffectID = GetAvatarFrameDefaultID(nowfacePic);  | 
|         return new AvatarModel(nowFace, nowfacePic, faceEffectID, facePicEffectID);  | 
|     }  | 
|   | 
|     //获取我的头像信息(如果表中不存在 或 已过期,返回默认的)  | 
|     public static AvatarModel GetMyAvatarModel()  | 
|     {  | 
|         int nowFace = GetMyAvatarID();  | 
|         int nowfacePic = GetMyAvatarFrameID();  | 
|         int faceEffectID = GetAvatarEffectID(nowFace);  | 
|         int facePicEffectID = GetAvatarFrameDefaultID(nowfacePic);  | 
|         return new AvatarModel(nowFace, nowfacePic, faceEffectID, facePicEffectID);  | 
|     }  | 
|   | 
|     public static AvatarModel GetDefaultAvatarModel(int job = 0)  | 
|     {  | 
|         int nowFace = GetAvatarDefaultID(job);  | 
|         int nowfacePic = GetAvatarFrameDefaultID(job);  | 
|         int faceEffectID = GetAvatarEffectID(nowFace);  | 
|         int facePicEffectID = GetAvatarFrameDefaultID(nowfacePic);  | 
|         return new AvatarModel(nowFace, nowfacePic, faceEffectID, facePicEffectID);  | 
|     }  | 
|   | 
|     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)  | 
|     {  | 
|         if (PlayerFaceConfig.HasKey(nowID))  | 
|             return nowID;  | 
|         return PhantasmPavilionModel.Instance.TryGetDefaultID(PhantasmPavilionTab.Avatar, job, out int defaultID) ? defaultID : 0;  | 
|     }  | 
|   | 
|     public static int GetOtherAvatarFrameID(int nowID, int job)  | 
|     {  | 
|         if (PlayerFaceConfig.HasKey(nowID))  | 
|             return nowID;  | 
|         return PhantasmPavilionModel.Instance.TryGetDefaultID(PhantasmPavilionTab.AvatarFrame, job, out int defaultID) ? defaultID : 0;  | 
|     }  | 
|   | 
|     //返回玩家头像id(当前装备的过期了显示默认的)  | 
|     public static int GetMyAvatarID()  | 
|     {  | 
|         PhantasmPavilionModel.Instance.TryGetNowShowID(PhantasmPavilionTab.Avatar, out int defaultID);  | 
|         return defaultID;  | 
|     }  | 
|   | 
|     public static int GetMyAvatarFrameID()  | 
|     {  | 
|         PhantasmPavilionModel.Instance.TryGetNowShowID(PhantasmPavilionTab.AvatarFrame, out int defaultID);  | 
|         return defaultID;  | 
|     }  | 
|   | 
|     //根据job 直接返回对应的默认头像id  | 
|     public static int GetAvatarDefaultID(int job)  | 
|     {  | 
|         PhantasmPavilionModel.Instance.TryGetDefaultID(PhantasmPavilionTab.Avatar, job, out int defaultID);  | 
|         return defaultID;  | 
|     }  | 
|   | 
|     public static int GetAvatarFrameDefaultID(int job)  | 
|     {  | 
|         PhantasmPavilionModel.Instance.TryGetDefaultID(PhantasmPavilionTab.AvatarFrame, job, out int defaultID);  | 
|         return defaultID;  | 
|     }  | 
|   | 
|     public static int GetAvatarEffectID(int id)  | 
|     {  | 
|         PhantasmPavilionModel.Instance.TryGetEffectID(PhantasmPavilionTab.Avatar, id, out int effectID);  | 
|         return effectID;  | 
|     }  | 
|   | 
|     public static int GetAvatarFrameEffectID(int id)  | 
|     {  | 
|         PhantasmPavilionModel.Instance.TryGetEffectID(PhantasmPavilionTab.AvatarFrame, id, out int effectID);  | 
|         return effectID;  | 
|     }  | 
|   | 
|     //获取指定头像底图品质  | 
|     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);  | 
|     }  | 
| } |