//When the player is deleted public override void Destroy() { base.Destroy(); //Unregister from player and input systems players.RemovePlayer(this); input.removeInputSource(keyboardInput); }
public override void OnReceiveRemote(PlayerLeaveMessage message) { var playerName = PlayerRegistry.GetPlayer(message.AboutId).Name; DebugLog.ToAll($"{playerName} disconnected.", MessageType.Info); PlayerRegistry.GetPlayer(message.AboutId).HudMarker?.Remove(); PlayerRegistry.RemovePlayer(message.AboutId); message.NetIds.ToList().ForEach(netId => QSBNetworkManager.Instance.CleanupNetworkBehaviour(netId)); }
public void OnHurt(int dmg) { BoltLog.Warn($"player {playerId} get hurt for {dmg}"); health -= dmg; var dmgEvent = OnDamaged.Create(entity, EntityTargets.OnlyController); dmgEvent.TargetID = Convert.ToInt32(playerId); dmgEvent.Dmg = dmg; dmgEvent.Send(); if (health > 0) { return; } OnPlayerDeath.Post(GlobalTargets.AllClients, playerId); PlayerRegistry.RemovePlayer(Convert.ToUInt32(playerId)); }
public override void Disconnected(BoltConnection connection) { PlayerRegistry.RemovePlayer(connection); }