Pastebinning04

Untitled

Feb 1st, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.85 KB | None | 0 0
  1. using Sandbox.Common.ObjectBuilders;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using VRage.Game.Components;
  8. using VRage.Game;
  9. using VRage.ObjectBuilders;
  10. using VRage.Game.Entity;
  11.  
  12. namespace BetterTurrets
  13. {
  14.     [MyEntityComponentDescriptor(typeof(MyObjectBuilder_LargeGatlingTurret))]
  15.     public class BetterGatlingTurret : MyGameLogicComponent
  16.     {
  17.         public override void Init(MyObjectBuilder_EntityBase objectBuilder)
  18.         {
  19.             Entity.NeedsUpdate |= VRage.ModAPI.MyEntityUpdateEnum.BEFORE_NEXT_FRAME;
  20.         }
  21.  
  22.         public override void UpdateOnceBeforeFrame()
  23.         {
  24.             try
  25.             {
  26.                 var turretsub = (Entity as MyEntity).Subparts["GatlingTurretBase1"]?.Subparts["GatlingTurretBase2"];
  27.                 Sandbox.Engine.Physics.MyPhysicsHelper.InitModelPhysics((Entity as MyEntity).Subparts["GatlingTurretBase1"]);
  28.                 Sandbox.Engine.Physics.MyPhysicsHelper.InitModelPhysics(turretsub);
  29.             }
  30.             catch
  31.             {
  32.                 // Do nothing
  33.             }
  34.         }
  35.     }
  36.  
  37.     [MyEntityComponentDescriptor(typeof(MyObjectBuilder_LargeMissileTurret))]
  38.     public class BetterMissleTurret : MyGameLogicComponent
  39.     {
  40.         public override void Init(MyObjectBuilder_EntityBase objectBuilder)
  41.         {
  42.             Entity.NeedsUpdate |= VRage.ModAPI.MyEntityUpdateEnum.BEFORE_NEXT_FRAME;
  43.         }
  44.  
  45.         public override void UpdateOnceBeforeFrame()
  46.         {
  47.             try
  48.             {
  49.                 var turretsub = (Entity as MyEntity).Subparts["MissileTurretBase1"]?.Subparts["MissileTurretBarrels"];
  50.                 Sandbox.Engine.Physics.MyPhysicsHelper.InitModelPhysics((Entity as MyEntity).Subparts["MissileTurretBase1"]);
  51.                 Sandbox.Engine.Physics.MyPhysicsHelper.InitModelPhysics(turretsub);
  52.             }
  53.             catch
  54.             {
  55.                 // Do nothing
  56.             }
  57.         }
  58.     }
  59.  
  60.     [MyEntityComponentDescriptor(typeof(MyObjectBuilder_InteriorTurret))]
  61.     public class BetterInteriorTurret : MyGameLogicComponent
  62.     {
  63.         public override void Init(MyObjectBuilder_EntityBase objectBuilder)
  64.         {
  65.             Entity.NeedsUpdate |= VRage.ModAPI.MyEntityUpdateEnum.BEFORE_NEXT_FRAME;
  66.         }
  67.  
  68.         public override void UpdateOnceBeforeFrame()
  69.         {
  70.             try
  71.             {
  72.                 var turretsub = (Entity as MyEntity).Subparts["InteriorTurretBase1"]?.Subparts["InteriorTurretBase2"];
  73.                 Sandbox.Engine.Physics.MyPhysicsHelper.InitModelPhysics((Entity as MyEntity).Subparts["InteriorTurretBase1"]);
  74.                 Sandbox.Engine.Physics.MyPhysicsHelper.InitModelPhysics(turretsub);
  75.             }
  76.             catch
  77.             {
  78.                 // Do nothing
  79.             }
  80.         }
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment