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);  
 | 
    }  
 | 
} 
 |