少年修仙传客户端代码仓库
client_Zxw
2018-12-20 9d3250fc731f485059fabb7d79a9a3a5666eebc5
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
2个文件已修改
66 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC102_tagMCCrossRealmPKAwardState.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC102_tagMCCrossRealmPKAwardState.cs
@@ -3,9 +3,12 @@
// C1 02 跨服PK玩家奖励记录 #tagMCCrossRealmPKAwardState
public class DTCC102_tagMCCrossRealmPKAwardState : DtcBasic {
public class DTCC102_tagMCCrossRealmPKAwardState : DtcBasic {
    CrossServerRewardModel m_CrossServerRewardModel;
    CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HC102_tagMCCrossRealmPKAwardState vNetData = vNetPack as HC102_tagMCCrossRealmPKAwardState;
        HC102_tagMCCrossRealmPKAwardState vNetData = vNetPack as HC102_tagMCCrossRealmPKAwardState;         crossServerRewardModel.CrossRealmPKAwardState(vNetData);
    }
}
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -33,11 +33,22 @@
    public int Segment;//段位
    public int Integral;//积分
}
public enum CrossRealmPKAwardStateEnum
{
    DayPKCountAwardState=1,
    DayWinCountAwardState=2,
    DanLVAwardState=3,
    SeasonAwardState=4,
}
public class CrossServerRewardModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
    public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    public Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
    private uint DayPKCountAwardState; //每日匹配次数奖励记录
    private uint DayWinCountAwardState; // 每日胜利次数奖励记录
    private uint DanLVAwardState; // 段位达标奖励记录
    private int SeasonAwardState; // 赛季结算奖励是否已领取
    private bool m_IsOpenMatch;
    public bool IsOpenMatch
    {
@@ -123,6 +134,54 @@
    {
        Date_Time= TimeUtility.ServerNow;
    }
    public void CrossRealmPKAwardState(HC102_tagMCCrossRealmPKAwardState info)//c102跨服PK玩家奖励记录
    {
        DayPKCountAwardState = info.DayPKCountAwardState;
        DayWinCountAwardState = info.DayWinCountAwardState;
        DanLVAwardState = info.DanLVAwardState;
        SeasonAwardState = info.SeasonAwardState;
    }
    private bool IsAwardState(CrossRealmPKAwardStateEnum _cross, int Index)//是否已领取奖励
    {
        bool _bool = false;
        if (_cross == CrossRealmPKAwardStateEnum.SeasonAwardState)
        {
            if (SeasonAwardState == 1)
            {
                _bool = true;
            }
            else
            {
                _bool = false;
            }
        }
        else
        {
            switch (_cross)
            {
                case CrossRealmPKAwardStateEnum.DayPKCountAwardState:
                    _bool = MathUtility.GetBitValue(DayPKCountAwardState, (ushort)Index);
                    break;
                case CrossRealmPKAwardStateEnum.DayWinCountAwardState:
                    _bool = MathUtility.GetBitValue(DayWinCountAwardState, (ushort)Index);
                    break;
                case CrossRealmPKAwardStateEnum.DanLVAwardState:
                    _bool = MathUtility.GetBitValue(DayWinCountAwardState, (ushort)Index);
                    break;
            }
        }
            return _bool;
    }
    public void CrossRealmPKGetAward(CrossRealmPKAwardStateEnum _cross, int Index)//领奖发包
    {
        CC103_tagCMCrossRealmPKGetAward c103 = new CC103_tagCMCrossRealmPKGetAward();
        c103.AwardType = (byte)_cross;
        c103.AwardData = (byte)Index;
        GameNetSystem.Instance.SendInfo(c103);
    }
}