Exemple #1
0
        /// <inheritdoc/>
        public void C4Handler(Grenade charge, C4RemoveMethod removeMethod = C4RemoveMethod.Detonate)
        {
            switch (removeMethod)
            {
            case C4RemoveMethod.Remove:
            {
                NetworkServer.Destroy(charge.gameObject);
                break;
            }

            case C4RemoveMethod.Detonate:
            {
                charge.NetworkfuseTime = 0.1f;
                break;
            }

            case C4RemoveMethod.Drop:
            {
                TrySpawn((int)Id, charge.transform.position);
                NetworkServer.Destroy(charge.gameObject);
                break;
            }
            }

            PlacedCharges.Remove(charge);
        }
Exemple #2
0
        /// <summary>
        /// Handles the removal of C4 charges.
        /// </summary>
        /// <param name="charge"> The C4 charge to be handled.</param>
        /// <param name="removeMethod"> The method of removing the charge.</param>
        public void C4Handler(Pickup charge, C4RemoveMethod removeMethod = C4RemoveMethod.Detonate)
        {
            switch (removeMethod)
            {
            case C4RemoveMethod.Remove:
            {
                charge.Destroy();
                break;
            }

            case C4RemoveMethod.Detonate:
            {
                EffectGrenade projectile = (EffectGrenade)charge.Base;
                projectile._fuseTime = 0.1f;
                projectile.ServerActivate();
                break;
            }

            case C4RemoveMethod.Drop:
            {
                TrySpawn((int)Id, charge.Position, out _);
                charge.Destroy();
                break;
            }
            }

            PlacedCharges.Remove(charge);
        }