public override void Init() { this._activeSurrenderInfo = null; this.HasAllVoted = false; this.IsPassed = false; MobaMessageManager.RegistMessage(PvpCode.C2P_VoteSurrender, new MobaMessageFunc(this.P2C_VoteSurrender)); MobaMessageManager.RegistMessage(PvpCode.C2P_StartSurrender, new MobaMessageFunc(this.P2C_StartSurrender)); MobaMessageManager.RegistMessage(PvpCode.P2C_SurrenderTakeEffect, new MobaMessageFunc(this.P2C_SurrenderTakeEffect)); MobaMessageManager.RegistMessage((ClientMsg)25040, new MobaMessageFunc(this.OnBattleStart)); }
private void TryUpdateInfo(ActiveSurrenderInfo info) { TeamType teamType = this.IsLm(info); if (Singleton <PvpManager> .Instance.SelfTeamType == teamType && SurrenderMgr.IsVisible(info)) { this._activeSurrenderInfo = info; this.HasAllVoted = (info.validVoters.Count == info.votes.Count); CtrlManager.OpenWindow(WindowID.SurrenderView, null); MobaMessageManager.DispatchMsg((ClientMsg)23064, info, 0f); } }
public void SyncInfos(ActiveSurrenderInfo[] surrenderInfos) { this._activeSurrenderInfo = null; if (surrenderInfos == null || Singleton <PvpManager> .Instance.IsObserver) { return; } for (int i = 0; i < surrenderInfos.Length; i++) { ActiveSurrenderInfo info = surrenderInfos[i]; this.TryUpdateInfo(info); } }
private static bool IsVisible(ActiveSurrenderInfo info) { return(info != null && info.validVoters.Contains(Singleton <PvpManager> .Instance.MyLobbyUserId)); }
private TeamType IsLm(ActiveSurrenderInfo info) { return(Singleton <PvpManager> .Instance.GetTeam(info.starterUid)); }