Пример #1
0
 private void AddBlocks()
 {
     foreach (MyGeneratedBlockLocation location in this.m_addLocations)
     {
         Quaternion quaternion;
         location.Orientation.GetQuaternion(out quaternion);
         MyCubeGrid.MyBlockLocation location2 = new MyCubeGrid.MyBlockLocation(location.BlockDefinition.Id, location.Position, location.Position, location.Position, quaternion, MyEntityIdentifier.AllocateId(MyEntityIdentifier.ID_OBJECT_TYPE.ENTITY, MyEntityIdentifier.ID_ALLOCATION_METHOD.RANDOM), MySession.Static.LocalPlayerId);
         m_tmpLocationsAndRefBlocks.Add(new Tuple <MyCubeGrid.MyBlockLocation, MySlimBlock>(location2, location.RefBlock));
     }
     foreach (Tuple <MyCubeGrid.MyBlockLocation, MySlimBlock> tuple in m_tmpLocationsAndRefBlocks)
     {
         MySlimBlock block = this.m_grid.BuildGeneratedBlock(tuple.Item1, (Vector3)Vector3I.Zero);
         if (block != null)
         {
             MyCompoundCubeBlock fatBlock = block.FatBlock as MyCompoundCubeBlock;
             if (fatBlock != null)
             {
                 foreach (MySlimBlock block4 in fatBlock.GetBlocks())
                 {
                     Quaternion quaternion2;
                     MyCubeGrid.MyBlockLocation location3 = tuple.Item1;
                     location3.Orientation.GetQuaternion(out quaternion2);
                     MyBlockOrientation orientation2 = new MyBlockOrientation(ref quaternion2);
                     if ((block4.Orientation == orientation2) && (block4.BlockDefinition.Id == tuple.Item1.BlockDefinition))
                     {
                         block = block4;
                         break;
                     }
                 }
             }
             MySlimBlock generatingBlock = tuple.Item2;
             if (((block != null) && block.BlockDefinition.IsGeneratedBlock) && (generatingBlock != null))
             {
                 block.SetGeneratedBlockIntegrity(generatingBlock);
             }
         }
     }
     m_tmpLocationsAndRefBlocks.Clear();
 }