void OnAmmoExplosion(ref MyEventAmmoExplosion msg) { MyEntity ammoBase; if (MyEntities.TryGetEntityById(new MyEntityIdentifier(msg.AmmoBaseEntityId), out ammoBase) && ammoBase is MyAmmoBase) { var ammo = (MyAmmoBase)ammoBase; ammo.WorldMatrix = msg.Position.GetMatrix(); ammo.IsDummy = false; ammo.Explode(); } }
public void ExplodeAmmo(MyAmmoBase ammo) { // Explode only my missiles to prevent circullar SEND/RECEIVE if (IsControlledByMe(ammo)) { var msg = new MyEventAmmoExplosion(); msg.AmmoBaseEntityId = ammo.EntityId.Value.NumericValue; msg.Position = new MyMwcPositionAndOrientation(ammo.WorldMatrix); Peers.SendToAll(ref msg, NetDeliveryMethod.ReliableUnordered); } }