Beispiel #1
0
 public void UpdateDoorOpen(AdvancedPhysicsTile tile)
 {
     if (world.GetTile(tile.x, tile.y, tile.z) != tile.block_type) return;
     world.SetTileNoPhysics(tile.x, tile.y, tile.z, (byte)tile.meta[0]);
 }
Beispiel #2
0
        public void UpdateDoor(AdvancedPhysicsTile tile)
        {
            if (world.GetTile(tile.x, tile.y, tile.z) != tile.block_type) return;
            byte type = tile.block_type;

            if (world.GetTile(tile.x + 1, tile.y, tile.z) == type)
            {
                Queue(tile.x + 1, tile.y, tile.z, type);
            }

            if (world.GetTile(tile.x - 1, tile.y, tile.z) == type)
            {
                Queue(tile.x - 1, tile.y, tile.z, type);
            }

            if (world.GetTile(tile.x, tile.y + 1, tile.z) == type)
            {
                Queue(tile.x, tile.y + 1, tile.z, type);
            }

            if (world.GetTile(tile.x, tile.y - 1, tile.z) == type)
            {
                Queue(tile.x, tile.y - 1, tile.z, type);
            }

            if (world.GetTile(tile.x, tile.y, tile.z + 1) == type)
            {
                Queue(tile.x, tile.y, tile.z + 1, type);
            }

            if (world.GetTile(tile.x, tile.y, tile.z - 1) == type)
            {
                Queue(tile.x, tile.y, tile.z - 1, type);
            }

            world.SetTileNoPhysics(tile.x, tile.y, tile.z, (byte)tile.meta[0]);
            Queue(tile.x, tile.y, tile.z, (byte)tile.meta[0], PhysType.DoorOpen, new object[] { (byte)type });
        }