| File was renamed from System/CrossServerOneVsOne/CrossServerModel.cs |
| | |
| | | {
|
| | | [XLua.Hotfix]
|
| | | [XLua.LuaCallCSharp]
|
| | | public class CrossServerModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize,ISwitchAccount ,IPlayerLoginOk
|
| | | public class CrossServerOneVsOneModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize,ISwitchAccount ,IPlayerLoginOk
|
| | | {
|
| | | public string PkResultLocalSaveKey { get; private set; }
|
| | | public List<CrossServerPkResult> localSaveResults { get; private set; }
|
| | | public List<CrossServerOneVsOnePkResult> localSaveResults { get; private set; }
|
| | | CrossServerRewardModel rewardModel { get { return ModelCenter.Instance.GetModel<CrossServerRewardModel>(); } }
|
| | | public event Action UpdateDayAwardsEvent;
|
| | | public const int CrossServerDataMapId = 32010;
|
| | |
| | | {
|
| | | dungeonModel.updateMissionEvent -= UpdateFBHelp;
|
| | | rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
|
| | | CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState;
|
| | | CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState;
|
| | | InitData();
|
| | | }
|
| | |
|
| | |
| | | public void OnPlayerLoginOk()
|
| | | {
|
| | | rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
|
| | | CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
|
| | | CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
|
| | | dungeonModel.updateMissionEvent += UpdateFBHelp;
|
| | | UpdateDayAwardState();
|
| | | if(IsMatching)
|
| | |
| | |
|
| | | private void InitData()
|
| | | {
|
| | | CrossServerPKSeason.Instance.InitData();
|
| | | CrossServerPlayerInfo.Instance.InitData();
|
| | | pkResultInfo = new CrossServerPkResult();
|
| | | CrossServerOneVsOnePKSeason.Instance.InitData();
|
| | | CrossServerOneVsOnePlayerInfo.Instance.InitData();
|
| | | pkResultInfo = new CrossServerOneVsOnePkResult();
|
| | | }
|
| | |
|
| | | public void UpdateDayAwardState()
|
| | | {
|
| | | var playerInfo = CrossServerPlayerInfo.Instance;
|
| | | var playerInfo = CrossServerOneVsOnePlayerInfo.Instance;
|
| | | for(int i = 0; i < dayAwardTypelist.Count; i++)
|
| | | {
|
| | | var dayAward = dayAwardTypelist[i];
|
| | |
| | | var mission = dungeonModel.mission;
|
| | | if(mission.prepareTime > 0)
|
| | | {
|
| | | if(!WindowCenter.Instance.IsOpen<CrossServerRoundWin>())
|
| | | if(!WindowCenter.Instance.IsOpen<CrossServerOneVsOneRoundWin>())
|
| | | {
|
| | | WindowCenter.Instance.Open<CrossServerRoundWin>();
|
| | | WindowCenter.Instance.Open<CrossServerOneVsOneRoundWin>();
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | #endregion
|
| | |
|
| | | #region 协议
|
| | | public CrossServerPkResult pkResultInfo { get; private set;}
|
| | | public CrossServerOneVsOnePkResult pkResultInfo { get; private set;}
|
| | | public event Action UpdatePkResultEvent;
|
| | | public void UpdatePKResultInfo(HC003_tagGCCrossRealmPKOverInfo pKOverInfo)
|
| | | {
|
| | | pkResultInfo = new CrossServerPkResult();
|
| | | pkResultInfo = new CrossServerOneVsOnePkResult();
|
| | | pkResultInfo.UpdatePkResult(pKOverInfo);
|
| | | SetPkInfoLocalSave(pkResultInfo);
|
| | | if(UpdatePkResultEvent != null)
|
| | |
| | |
|
| | | private void GetLocalSaveData()
|
| | | {
|
| | | localSaveResults = new List<CrossServerPkResult>();
|
| | | localSaveResults = new List<CrossServerOneVsOnePkResult>();
|
| | | string[] localJsons = LocalSave.GeStringArray(PkResultLocalSaveKey);
|
| | | if(localJsons != null)
|
| | | {
|
| | | for(int i = 0; i < localJsons.Length; i++)
|
| | | {
|
| | | CrossServerPkResult resultInfo = JsonMapper.ToObject<CrossServerPkResult>(localJsons[i]);
|
| | | CrossServerOneVsOnePkResult resultInfo = JsonMapper.ToObject<CrossServerOneVsOnePkResult>(localJsons[i]);
|
| | | localSaveResults.Add(resultInfo);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public void SetPkInfoLocalSave(CrossServerPkResult resultInfo)
|
| | | public void SetPkInfoLocalSave(CrossServerOneVsOnePkResult resultInfo)
|
| | | {
|
| | | if (localSaveResults.Count >= 30)
|
| | | {
|
| | |
| | | public Redpoint crossMatchRedpoint = new Redpoint(CrossArenaRedKey, CrossMatchRedKey);
|
| | | public void UpdateCrossArenaRedpoint()
|
| | | {
|
| | | var playerInfo = CrossServerPlayerInfo.Instance;
|
| | | var pkSeason = CrossServerPKSeason.Instance;
|
| | | var playerInfo = CrossServerOneVsOnePlayerInfo.Instance;
|
| | | var pkSeason = CrossServerOneVsOnePKSeason.Instance;
|
| | |
|
| | | if(pkSeason.InDay(TimeUtility.ServerNow)
|
| | | && pkSeason.InOpenTime()
|