Beispiel #1
0
        //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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
 public override void Disconnected(BoltConnection connection)
 {
     PlayerRegistry.RemovePlayer(connection);
 }