public static class EmblemHelper { public static EmblemModel GetEmblemModel(int familyID, int id) { bool isMyself = familyID == PlayerDatas.Instance.fairyData.fairy.FamilyID; return isMyself ? GetMyEmblemModel() : GetOtherEmblemModel(id); } public static EmblemModel GetOtherEmblemModel(int id) { int emblemID = GetOtherEmblemID(id); int effectID = GetEmblemEffectID(emblemID); return new EmblemModel(emblemID, effectID); } public static EmblemModel GetMyEmblemModel() { int emblemID = GetMyEmblemID(); int effectID = GetEmblemEffectID(emblemID); return new EmblemModel(emblemID, effectID); } public static int GetEmblemID(int familyID, int id) { bool isMyself = familyID == PlayerDatas.Instance.fairyData.fairy.FamilyID; return isMyself ? GetMyEmblemID() : GetOtherEmblemID(id); } public static int GetOtherEmblemID(int id) { if (FamilyEmblemConfig.HasKey(id)) return id; return !FamilyEmblemConfig.HasKey(FairyEmblemModel.Instance.defaultFamilyEmblemId) ? 0 : FairyEmblemModel.Instance.defaultFamilyEmblemId; } public static int GetMyEmblemID() { int emblemID = (int)PlayerDatas.Instance.fairyData.fairy.Extra6; if (FamilyEmblemConfig.HasKey(emblemID) && FairyEmblemModel.Instance.IsUnLock(emblemID)) return emblemID; return !FamilyEmblemConfig.HasKey(FairyEmblemModel.Instance.defaultFamilyEmblemId) ? 0 : FairyEmblemModel.Instance.defaultFamilyEmblemId; } public static int GetEmblemEffectID(int id) { FairyEmblemModel.Instance.TryGetEffectID(id, out int effectID); return effectID; } public static int GetDefaultFamilyEmblemId() { return FairyEmblemModel.Instance.defaultFamilyEmblemId; } }