private void OnMsgGuildWarUpdate(MemoryStream stream) { this.mReqGWUpdate = false; MS2C_GuildWarUpdate mS2C_GuildWarUpdate = Serializer.NonGeneric.Deserialize(typeof(MS2C_GuildWarUpdate), stream) as MS2C_GuildWarUpdate; if (this.mWarStateInfo == null) { return; } this.mWarStateInfo.mWarState = mS2C_GuildWarUpdate.Status; this.mWarStateInfo.mTimeStamp = mS2C_GuildWarUpdate.Timestamp; this.mWarStateInfo.ResetStateInfo(mS2C_GuildWarUpdate.Status, mS2C_GuildWarUpdate.Timestamp, null, null); if (this.mGWEnterData != null && this.mGWEnterData.WarID == mS2C_GuildWarUpdate.WarData.WarID) { if (mS2C_GuildWarUpdate.WarData.Red != null && mS2C_GuildWarUpdate.WarData.Red.KillNum != 0u) { this.mGWEnterData.Red.KillNum = mS2C_GuildWarUpdate.WarData.Red.KillNum; } if (mS2C_GuildWarUpdate.WarData.Blue != null && mS2C_GuildWarUpdate.WarData.Blue.KillNum != 0u) { this.mGWEnterData.Blue.KillNum = mS2C_GuildWarUpdate.WarData.Blue.KillNum; } if (mS2C_GuildWarUpdate.WarData.Red != null && mS2C_GuildWarUpdate.WarData.Red.Score != 0) { this.mGWEnterData.Red.Score = mS2C_GuildWarUpdate.WarData.Red.Score; } if (mS2C_GuildWarUpdate.WarData.Blue != null && mS2C_GuildWarUpdate.WarData.Blue.Score != 0) { this.mGWEnterData.Blue.Score = mS2C_GuildWarUpdate.WarData.Blue.Score; } if (mS2C_GuildWarUpdate.WarData.Winner != EGuildWarTeamId.EGWTI_None) { this.mGWEnterData.Winner = mS2C_GuildWarUpdate.WarData.Winner; } for (int i = 0; i < mS2C_GuildWarUpdate.WarData.Strongholds.Count; i++) { if (this.mGWEnterData.Strongholds[mS2C_GuildWarUpdate.WarData.Strongholds[i].ID - 1].ID == mS2C_GuildWarUpdate.WarData.Strongholds[i].ID) { this.mGWEnterData.Strongholds[mS2C_GuildWarUpdate.WarData.Strongholds[i].ID - 1] = mS2C_GuildWarUpdate.WarData.Strongholds[i]; } if (this.StrongHold != null && this.StrongHold.ID == mS2C_GuildWarUpdate.WarData.Strongholds[i].ID) { this.StrongHold = mS2C_GuildWarUpdate.WarData.Strongholds[i]; if (this.mGWEnterData != null && this.IsGuanZhanMember(this.mGWEnterData.WarID)) { for (int j = 0; j < this.StrongHold.Slots.Count; j++) { GuildWarStrongholdSlot guildWarStrongholdSlot = this.StrongHold.Slots[j]; if (guildWarStrongholdSlot != null && guildWarStrongholdSlot.Status == EGuardWarStrongholdSlotState.EGWPSS_Empty && j < this.StrongHoldMembers.Count && this.StrongHoldMembers[j] != null && this.StrongHoldMembers[j].Member != null) { this.StrongHoldMembers[j].Member = null; break; } } } } } if (mS2C_GuildWarUpdate.Scores != null && this.ScoreAddEvent != null) { this.ScoreAddEvent(mS2C_GuildWarUpdate.Scores); } } if (this.CastleUpdateEvent != null) { this.CastleUpdateEvent(); } }
private void OnMsgQueryStrongholdInfo(MemoryStream stream) { MS2C_GuildWarQueryStrongholdInfo mS2C_GuildWarQueryStrongholdInfo = Serializer.NonGeneric.Deserialize(typeof(MS2C_GuildWarQueryStrongholdInfo), stream) as MS2C_GuildWarQueryStrongholdInfo; if (mS2C_GuildWarQueryStrongholdInfo.Result != EGuildResult.EGR_Success) { GameUIManager.mInstance.ShowMessageTip("EGR", (int)mS2C_GuildWarQueryStrongholdInfo.Result); return; } this.StrongHold = mS2C_GuildWarQueryStrongholdInfo.Stronghold; this.StrongHoldMembers = mS2C_GuildWarQueryStrongholdInfo.Members; if (this.QueryStrongHoldInfoEvent != null) { this.QueryStrongHoldInfoEvent(); } }
public void Clear() { this.Guild = null; this.Members = null; this.GuildList = null; this.GuildListForSearch = null; this.GuildEventList = null; this.GuildRankDataList = null; this.mGWPlayerData = null; this.mGWKillRankData = null; this.StrongHold = null; this.mWarStateInfo = null; this.LocalClientMember = null; this.guildBossData.Clear(); this.StrongHoldMembers.Clear(); this.BattleRecords.Clear(); this.BattleSupportInfo.Clear(); this.mInteractionMsgs.Clear(); this.mSignRecords.Clear(); if (Globals.Instance != null && Globals.Instance.Player != null) { Globals.Instance.Player.ShowChatGuildNewMark = false; Globals.Instance.Player.GuildMsgs.Clear(); } }