How do I make a Grid check for objects and make them move his possition.

I’m making a 2048 “Shoot and merge” game. 184995-muejcbph1n.gif

>>>>> Here’s the code. <<<<

As you can see, everything works fine the logic its related by the current block i’m throwing. but if the block it’s already there, it doesn’t work.
I’ve tried too many things but i’m learning and anything works out.

The “bug” part its in the “NewShift()” and “MergingTime”.

The function “ItsRainingBlocks()” it’s because i’m still trying things. but when I set that function on the code after 10-12 seconds Unity stops working (cause i’m looping the SpawningBlocks() I guess) and the game its something like this: 184998-ayobtcrvv9.gif

Ok I guess.