Esempio n. 1
0
        public static void FixTileWallCollision(this BlockFaceEdge blockFace)
        {
            if (blockFace.TileNumber == 0)
            {
                return;
            }
            TileWallCollisionFix tileWallCollisionFix;
            var add = false;

            if (!TileWallCollisionFixes.TryGetValue(blockFace.TileNumber, out tileWallCollisionFix))
            {
                tileWallCollisionFix = new TileWallCollisionFix();
                add = true;
            }
            if (blockFace.Wall)
            {
                if (blockFace.BulletWall)
                {
                    tileWallCollisionFix.CollisionCount++;
                }
                else
                {
                    tileWallCollisionFix.NoBulletCollision++;
                }
                if (tileWallCollisionFix.NoCollisionCount > 0 && !MismatchTiles.Contains(blockFace.TileNumber))
                {
                    MismatchTiles.Add(blockFace.TileNumber);
                }
            }
            else
            {
                tileWallCollisionFix.NoCollisionCount++;
                if (tileWallCollisionFix.CollisionCount > 0 && !MismatchTiles.Contains(blockFace.TileNumber))
                {
                    MismatchTiles.Add(blockFace.TileNumber);
                }
            }
            tileWallCollisionFix.TileNumber = blockFace.TileNumber;
            tileWallCollisionFix.BlockFaces.Add(blockFace);
            if (add)
            {
                TileWallCollisionFixes.Add(blockFace.TileNumber, tileWallCollisionFix);
            }
        }
Esempio n. 2
0
 public static void FixTileWallCollision(this BlockFaceEdge blockFace)
 {
     if (blockFace.TileNumber == 0)
         return;
     TileWallCollisionFix tileWallCollisionFix;
     var add = false;
     if (!TileWallCollisionFixes.TryGetValue(blockFace.TileNumber, out tileWallCollisionFix))
     {
         tileWallCollisionFix = new TileWallCollisionFix();
         add = true;
     }
     if (blockFace.Wall)
     {
         if (blockFace.BulletWall)
             tileWallCollisionFix.CollisionCount++;
         else
             tileWallCollisionFix.NoBulletCollision++;
         if (tileWallCollisionFix.NoCollisionCount > 0 && !MismatchTiles.Contains(blockFace.TileNumber))
             MismatchTiles.Add(blockFace.TileNumber);
     }
     else
     {
         tileWallCollisionFix.NoCollisionCount++;
         if (tileWallCollisionFix.CollisionCount > 0 && !MismatchTiles.Contains(blockFace.TileNumber))
             MismatchTiles.Add(blockFace.TileNumber);
     }
     tileWallCollisionFix.TileNumber = blockFace.TileNumber;
     tileWallCollisionFix.BlockFaces.Add(blockFace);
     if (add)
         TileWallCollisionFixes.Add(blockFace.TileNumber, tileWallCollisionFix);
 }