private void Awake()
 {
     Instance = this;
     Provider.onServerDisconnected += (CSteamID r) => {
         if (r != CSteamID.Nil)
         {
             OnPlayerDisconnected.TryInvoke(UnturnedPlayer.FromCSteamID(r));
         }
     };
     Provider.onServerShutdown  += () => { onShutdown.TryInvoke(); };
     Provider.onServerConnected += (CSteamID r) => {
         if (r != CSteamID.Nil)
         {
             UnturnedPlayer p = (UnturnedPlayer)UnturnedPlayer.FromCSteamID(r);
             p.Player.gameObject.TryAddComponent <UnturnedPlayerFeatures>();
             p.Player.gameObject.TryAddComponent <UnturnedPlayerMovement>();
             p.Player.gameObject.TryAddComponent <UnturnedPlayerEvents>();
             OnBeforePlayerConnected.TryInvoke(p);
         }
     };
     DamageTool.playerDamaged += (SDG.Unturned.Player player, ref EDeathCause cause, ref ELimb limb, ref CSteamID killer, ref Vector3 direction, ref float damage, ref float times, ref bool canDamage) =>
     {
         if (OnPlayerDamaged != null)
         {
             if (player != null && killer != CSteamID.Nil && killer != null)
             {
                 UnturnedPlayer getterDamage = UnturnedPlayer.FromPlayer(player);
                 UnturnedPlayer senderDamage = UnturnedPlayer.FromCSteamID(killer);
                 OnPlayerDamaged.TryInvoke(getterDamage, cause, limb, senderDamage, direction, damage, times, canDamage);
             }
         }
     };
 }
Exemple #2
0
 private void Awake()
 {
     Instance = this;
     Provider.onServerDisconnected += (CSteamID r) => {
         if (r != CSteamID.Nil)
         {
             OnPlayerDisconnected.TryInvoke(UnturnedPlayer.FromCSteamID(r));
         }
     };
     Provider.onServerShutdown  += () => { onShutdown.TryInvoke(); };
     Provider.onServerConnected += (CSteamID r) => {
         if (r != CSteamID.Nil)
         {
             UnturnedPlayer p = (UnturnedPlayer)UnturnedPlayer.FromCSteamID(r);
             p.Player.gameObject.TryAddComponent <UnturnedPlayerFeatures>();
             p.Player.gameObject.TryAddComponent <UnturnedPlayerMovement>();
             p.Player.gameObject.TryAddComponent <UnturnedPlayerEvents>();
             OnBeforePlayerConnected.TryInvoke(p);
         }
     };
     DamageTool.damagePlayerRequested += (ref DamagePlayerParameters parameters, ref bool shouldAllow) =>
     {
         if (OnPlayerDamaged != null)
         {
             if (parameters.player != null && parameters.killer != CSteamID.Nil && parameters.killer != null)
             {
                 UnturnedPlayer getterDamage = UnturnedPlayer.FromPlayer(parameters.player);
                 UnturnedPlayer senderDamage = UnturnedPlayer.FromCSteamID(parameters.killer);
                 OnPlayerDamaged.TryInvoke(getterDamage, parameters.cause, parameters.limb, senderDamage, parameters.direction, parameters.damage, parameters.times, shouldAllow);
             }
         }
     };
 }
 static void onDamage(SDG.Unturned.Player player, ref EDeathCause cause, ref ELimb limb, ref CSteamID killer, ref Vector3 direction, ref float damage, ref float times, ref bool canDamage)
 {
     if (OnPlayerDamaged != null && player != null && killer != CSteamID.Nil && killer != null)
     {
         UnturnedPlayer getterDamage = UnturnedPlayer.FromPlayer(player);
         UnturnedPlayer senderDamage = UnturnedPlayer.FromCSteamID(killer);
         OnPlayerDamaged.TryInvoke(getterDamage, cause, limb, senderDamage, direction, damage, times, canDamage);
     }
 }
        public void TakeDamage()
        {
            if (PlayerProtected)
            {
                return;
            }

            PlayerLives--;
            OnPlayerDamaged?.Invoke(PlayerLives);
        }
Exemple #5
0
    protected override void OnTriggerEnter2D(Collider2D collision)
    {
        base.OnTriggerEnter2D(collision);

        if (collision.CompareTag("Player"))
        {
            OnPlayerDamaged?.Invoke(transform.position.x, Enemy.Enemies.LongRange);
            ReturnToPool();
        }
    }
Exemple #6
0
    void OnTriggerStay2D(Collider2D collision)
    {
        if (charged)
        {
            if (collision.CompareTag("Player"))
            {
                OnPlayerDamaged?.Invoke(transform.position.x, Enemy.Enemies.Strong);
            }

            StopCoroutine(AttackDurationTimer());
            gameObject.SetActive(false);
        }
    }
Exemple #7
0
    public void TakeDamage(int baseDamage)
    {
        _hurtThisBeat = true;
        int damage = baseDamage;

        if (IsBlocking())
        {
            damage -= _blockStrength;
            if (damage <= 0)
            {
                damage        = 0;
                _hurtThisBeat = false;
            }
        }

        _currentHealth -= damage;
        OnPlayerDamaged?.Invoke(damage);
        if (_currentHealth <= 0)
        {
            _currentHealth = 0;
            GameMaster.Find <GameMaster>().GameOver();
            OnPlayerKilled?.Invoke();
        }
    }
Exemple #8
0
 private static void DamageToolOnDamagePlayerRequested(ref DamagePlayerParameters parameters, ref bool shouldAllow)
 {
     OnPlayerDamaged?.TryInvoke(parameters, shouldAllow);
 }
Exemple #9
0
 public static void RaisePlayerDamaged(IEnemy enemy) => OnPlayerDamaged?.Invoke(enemy);