private bool MoveWithMoveableBlock(Pos pos, Move direction) { if (Game.grid.GetTile(pos.x, pos.y).gameObject.GetType().BaseType == typeof(MoveableBlock)) { MoveableBlock obj = (MoveableBlock)Game.grid.GetTile(pos.x, pos.y).gameObject; if (obj.Move(pos, direction)) { return(true); } } return(false); }
void Push(Pad pad) { MoveableBlock block = pad.heldObject.GetComponent <MoveableBlock>(); if (block.Push(lastMoveDir)) { if (pad.IsEmpty()) { MoveToPad(pad); } } else { //print ("could not push"); } }