예제 #1
0
 static void ProxyExplosionSuccess(ref ProxyExplosionMsg msg, MyNetworkClient sender)
 {
     //Dont create explosion particles if message is bufferred, it is useless to create hundred explosion after scene load
     if (MySession.Ready)
     {
         //  Create explosion
         MyExplosionInfo info = new MyExplosionInfo()
         {
             PlayerDamage = 0,
             //Damage = m_ammoProperties.Damage,
             Damage                          = 200,
             ExplosionType                   = msg.Type,
             ExplosionSphere                 = new BoundingSphere(msg.Center, msg.Radius),
             LifespanMiliseconds             = MyExplosionsConstants.EXPLOSION_LIFESPAN,
             CascadeLevel                    = 0,
             HitEntity                       = null,
             ParticleScale                   = msg.ParticleScale,
             OwnerEntity                     = null,
             Direction                       = Vector3.Forward,
             VoxelExplosionCenter            = msg.VoxelCenter,
             ExplosionFlags                  = MyExplosionFlags.CREATE_DEBRIS | MyExplosionFlags.CREATE_DECALS | MyExplosionFlags.CREATE_PARTICLE_EFFECT | MyExplosionFlags.CREATE_SHRAPNELS,
             VoxelCutoutScale                = 1.0f,
             PlaySound                       = true,
             ObjectsRemoveDelayInMiliseconds = 40
         };
         MyExplosions.AddExplosion(ref info, false);
     }
 }
예제 #2
0
 static void ProxyExplosionSuccess(ref ProxyExplosionMsg msg, MyNetworkClient sender)
 {
     //Dont create explosion particles if message is bufferred, it is useless to create hundred explosion after scene load
     if (MySession.Ready)
     {
         //  Create explosion
         MyExplosionInfo info = new MyExplosionInfo()
         {
             PlayerDamage = 0,
             //Damage = m_ammoProperties.Damage,
             Damage = 200,
             ExplosionType = msg.Type,
             ExplosionSphere = new BoundingSphere(msg.Center, msg.Radius),
             LifespanMiliseconds = MyExplosionsConstants.EXPLOSION_LIFESPAN,
             CascadeLevel = 0,
             HitEntity = null,
             ParticleScale = msg.ParticleScale,
             OwnerEntity = null,
             Direction = Vector3.Forward,
             VoxelExplosionCenter = msg.VoxelCenter,
             ExplosionFlags = MyExplosionFlags.CREATE_DEBRIS | MyExplosionFlags.CREATE_DECALS | MyExplosionFlags.CREATE_PARTICLE_EFFECT | MyExplosionFlags.CREATE_SHRAPNELS,
             VoxelCutoutScale = 1.0f,
             PlaySound = true,
             ObjectsRemoveDelayInMiliseconds = 40
         };
         MyExplosions.AddExplosion(ref info, false);
     }
 }
예제 #3
0
        public void RequestExplosion(Vector3 center, float radius, MyExplosionTypeEnum type, Vector3 voxelCenter, float particleScale)
        {
            var msg = new ProxyExplosionMsg();
            msg.Center = center;
            msg.Radius = radius;
            msg.Type = type;
            msg.VoxelCenter = voxelCenter;
            msg.ParticleScale = particleScale;

            MySession.Static.SyncLayer.SendMessageToServer(ref msg);
        }
예제 #4
0
        public void RequestExplosion(Vector3 center, float radius, MyExplosionTypeEnum type, Vector3 voxelCenter, float particleScale)
        {
            var msg = new ProxyExplosionMsg();

            msg.Center        = center;
            msg.Radius        = radius;
            msg.Type          = type;
            msg.VoxelCenter   = voxelCenter;
            msg.ParticleScale = particleScale;

            MySession.Static.SyncLayer.SendMessageToServer(ref msg);
        }
예제 #5
0
 static void ProxyExplosionRequest(ref ProxyExplosionMsg msg, MyNetworkClient sender)
 {
     //There is not sending to Self by purpose
     Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success);
 }
예제 #6
0
 static void ProxyExplosionRequest(ref ProxyExplosionMsg msg, MyNetworkClient sender)
 {
     //There is not sending to Self by purpose
     Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success);
 }