public void MoveTile(GameObject tile, GameBoardSlot from, GameBoardSlot to) { Tile newTile = tile.GetComponent <Tile>(); SubscribeOnTileMovementEnded(newTile); newTile.SetDestination(to.transform.position); newTile.SetTileInMotion(true); to.objInSlot = from.objInSlot; to.isOccupied = true; from.ResetSlot(); }