/// <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); }
/// <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); }