public override void AfterStart() { this.Mission.MakeDeploymentPlan(); this._missionScoreboardComponent = this.Mission.GetMissionBehaviour <MissionScoreboardComponent>(); this._gameMode = this.Mission.GetMissionBehaviour <MissionMultiplayerGameModeBase>(); this._timerComponent = this.Mission.GetMissionBehaviour <MultiplayerTimerComponent>(); this._roundComponent = this.Mission.GetMissionBehaviour <IRoundComponent>(); this._warmupComponent = this.Mission.GetMissionBehaviour <MultiplayerWarmupComponent>(); }
public virtual void Initialize(SpawnComponent spawnComponent) { this.SpawnComponent = spawnComponent; this.AgentVisualSpawnComponent = this.Mission.GetMissionBehaviour <MultiplayerMissionAgentVisualSpawnComponent>(); this.GameMode = this.Mission.GetMissionBehaviour <MissionMultiplayerGameModeBase>(); this.MissionLobbyComponent = this.Mission.GetMissionBehaviour <MissionLobbyComponent>(); this.MissionLobbyEquipmentNetworkComponent = this.Mission.GetMissionBehaviour <MissionLobbyEquipmentNetworkComponent>(); this.MissionLobbyEquipmentNetworkComponent.OnEquipmentRefreshed += new MissionLobbyEquipmentNetworkComponent.OnRefreshEquipmentEventDelegate(this.OnPeerEquipmentUpdated); }
public override void OnBehaviourInitialize() { base.OnBehaviourInitialize(); this._missionNetworkComponent = this.Mission.GetMissionBehaviour <MissionNetworkComponent>(); this._gameModeServer = this.Mission.GetMissionBehaviour <MissionMultiplayerGameModeBase>(); if (BannerlordNetwork.LobbyMissionType == LobbyMissionType.Matchmaker) { this.TeamSelectionEnabled = false; } else { this.TeamSelectionEnabled = true; } }
public override void OnBehaviourInitialize() { base.OnBehaviourInitialize(); this.CurrentMultiplayerState = MissionLobbyComponent.MultiplayerGameState.WaitingFirstPlayers; if (GameNetwork.IsServerOrRecorder) { MissionMultiplayerGameModeBase missionBehaviour = Mission.Current.GetMissionBehaviour <MissionMultiplayerGameModeBase>(); if (missionBehaviour == null || missionBehaviour.AllowCustomPlayerBanners()) { return; } this._usingFixedBanners = true; MissionPeer.OnPreTeamChanged += new MissionPeer.OnTeamChangedDelegate(MissionLobbyComponent.CreateFixedBannerForPeer); } else { this._inactivityTimer = new Timer(MBCommon.GetTime(MBCommon.TimeType.Mission), MissionLobbyComponent.InactivityThreshold); } }
private bool HandleClientEventCreateBannerForPeer( NetworkCommunicator peer, NetworkMessages.FromClient.CreateBanner message) { MissionMultiplayerGameModeBase missionBehaviour = Mission.Current.GetMissionBehaviour <MissionMultiplayerGameModeBase>(); if (missionBehaviour == null || !missionBehaviour.AllowCustomPlayerBanners()) { return(false); } MissionPeer component = peer.GetComponent <MissionPeer>(); if (component == null) { return(false); } component.Peer.BannerCode = message.BannerCode; MissionLobbyComponent.SyncBannersToAllClients(message.BannerCode, component.GetNetworkPeer()); return(true); }