コード例 #1
0
 private static void ProcessWeaponBlock(MyDefinitionBase myDefinition)
 {
     try
     {
         if (WeaponIgnoreList.Contains(myDefinition.Id.SubtypeId) || !myDefinition.Public)
         {
             return;
         }
         //MyCubeBlockDefinition myCubeBlock = MyDefinitionManager.Static.GetCubeBlockDefinition(myDefinition.Id);
         MyWeaponBlockDefinition myWeaponBlock       = (MyWeaponBlockDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(myDefinition.Id);
         List <BlockSideEnum>    mountPoints         = myWeaponBlock.MountPoints.Select(myMountPoint => myMountPoint.GetObjectBuilder(myMountPoint.Normal).Side).ToList();
         WeaponInformation       myWeaponInformation = new WeaponInformation(
             mountPoints,
             myWeaponBlock.CubeSize,
             myWeaponBlock.Size.X,
             myWeaponBlock.Size.Y,
             myWeaponBlock.Size.Z,
             myDefinition.Id.SubtypeId,
             myDefinition.Id.SubtypeName,
             myDefinition.Id.TypeId,
             myDefinition.Context?.ModName ?? "Vanilla",
             myDefinition.Id.ToString(),
             myWeaponBlock
             );
         if (myWeaponBlock.CubeSize == MyCubeSize.Large)
         {
             LargeGridWeaponBlocks.Add(myWeaponInformation);
         }
         else
         {
             SmallGridWeaponBlocks.Add(myWeaponInformation);
         }
         //Core.GeneralLog.WriteToLog("ProcessWeaponBlock", myWeaponInformation.ToString());
     }
     catch (Exception e)
     {
         Core.GeneralLog.WriteToLog("ProcessWeaponBlock", $"Exception! {e}");
     }
 }