hch
4 天以前 64a354d806f46c366f69680f9c321ed6024e0c60
Main/System/Guild/GuildEmblemModel.cs
File was renamed from Main/System/FairyEmblem/FairyEmblemModel.cs
@@ -11,10 +11,10 @@
    Active,     // 2 - 活动获得
}
public class FairyEmblemModel : GameSystemManager<FairyEmblemModel>
public class GuildEmblemModel : GameSystemManager<GuildEmblemModel>
{
    public readonly int MaxItemRowCount = 6;    // 一行展示x个徽章
    public readonly int FamilyActionsType = 15;     // 家族行为类型15
    public readonly int FamilyActionsType = 15;     // 徽章类型15
    public readonly int FuncId = 237;
    public int defaultFamilyEmblemId;           // 默认徽章ID
@@ -31,11 +31,8 @@
        }
    }
    //<EmblemId,FamilyAction>
    Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction> familyActions = new Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>();
    public event Action ChooseEmblemIdChangeEvent;      //切换标签页
    public event Action<int, int> UpdateFamilyActionEvent;
    Redpoint entranceRedPoint = new Redpoint(10702, MainRedDot.FairyEmbleManageRepoint); //仙盟管理面板入口红点
@@ -55,10 +52,6 @@
        UpdateRedPoint();
    }
    public void OnBeforePlayerDataInitialize()
    {
        familyActions.Clear();
    }
    public void UpdateRedPoint()
    {
@@ -90,7 +83,7 @@
    public bool TryGetNowEmblemID(out int nowID)
    {
        nowID = 0;
        int emblemID = (int)PlayerDatas.Instance.fairyData.fairy.Extra6;
        int emblemID = (int)PlayerDatas.Instance.fairyData.fairy.EmblemID;
        if (FamilyEmblemConfig.HasKey(emblemID) && IsUnLock(emblemID))
        {
            nowID = (int)emblemID;
@@ -143,26 +136,8 @@
        imgTitle.rectTransform.localScale = new Vector3(scale, scale, scale);
    }
    //发包 查询玩家当前仙盟徽章
    public void TrySendA408EmblemInfoPack()
    {
        //已经发过包了
        if (isSendA408Pack)
            return;
        isSendA408Pack = true;
        var pack = new CA408_tagCGQueryFamilyAction();
        pack.ActionType = 15;
        pack.FamilyID = PlayerDatas.Instance.baseData.FamilyId;
        GameNetSystem.Instance.SendInfo(pack);
    }
    //发包 更改仙盟徽章
    public void SendCA413ChangeFamilyEmblemPack(int emblemId)
    {
        var pack = new CA413_tagCGChangeFamilyEmblem();
        pack.EmblemID = (byte)emblemId;
        GameNetSystem.Instance.SendInfo(pack);
    }
    public List<int> GetShowList()
    {
@@ -230,7 +205,7 @@
    {
        FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemId);
        FairyEmblemUnlockMethodType type = GetFairyEmblemUnlockType(emblemId);
        HA403_tagGCFamilyActionInfo.tagGCFamilyAction familyAction;
        HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction;
        switch (type)
        {
            case FairyEmblemUnlockMethodType.Custom:
@@ -272,9 +247,9 @@
        return emblemId == Id;
    }
    public bool IsLimitTime(int emblemId, out HA403_tagGCFamilyActionInfo.tagGCFamilyAction familyAction)
    public bool IsLimitTime(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
    {
        familyAction = new HA403_tagGCFamilyActionInfo.tagGCFamilyAction();
        familyAction = new HA513_tagMCFamilyActionInfo.tagMCFamilyAction();
        FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemId);
        FairyEmblemUnlockMethodType type = GetFairyEmblemUnlockType(emblemId);
        switch (type)
@@ -297,17 +272,26 @@
    public bool IsCaptain()
    {
        return (int)PlayerDatas.Instance.fairyData.mine.FamilyLV == 3;
        return (int)PlayerDatas.Instance.fairyData.mine.FmLV == 3;
    }
    // 尝试从封包中得到指定的徽章时效信息(活动途径获取的徽章,定制徽章)
    private bool TryGetfamilyAction(int emblemId, out HA403_tagGCFamilyActionInfo.tagGCFamilyAction familyAction)
    private bool TryGetfamilyAction(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
    {
        familyAction = new HA403_tagGCFamilyActionInfo.tagGCFamilyAction();
        if (!familyActions.TryGetValue(emblemId, out var info))
            return false;
        familyAction = info;
        return true;
        familyAction = new HA513_tagMCFamilyActionInfo.tagMCFamilyAction();
        if (GuildManager.Instance.TryGetFamilyActions(FamilyActionsType, out var actions))
        {
            for (int i = 0; i < actions.Length; i++)
            {
                if (actions[i].Value1 == emblemId)
                {
                    familyAction = actions[i];
                    return true;
                }
            }
        }
        return false;
    }
    public bool TryGetEffectID(int emblemId, out int effectID)
@@ -322,17 +306,7 @@
        return true;
    }
    public void UpdateFamilyAction(HA403_tagGCFamilyActionInfo vNetData)
    {
        if (vNetData.ActionType != FamilyActionsType || PlayerDatas.Instance.baseData == null || (int)vNetData.FamilyID != (int)PlayerDatas.Instance.baseData.FamilyId)
            return;
        for (int i = 0; i < vNetData.FamilyActionList.Length; i++)
        {
            HA403_tagGCFamilyActionInfo.tagGCFamilyAction familyAction = vNetData.FamilyActionList[i];
            familyActions[(int)familyAction.Value1] = familyAction;
        }
        UpdateFamilyActionEvent?.Invoke((int)vNetData.FamilyID, vNetData.ActionType);
    }
}
public class EmblemModel