public bool TryMoveAlongDirAt(Hex coord, int dir = -1) { CellObjCtrl cctrl = _GridCtrl.GetCellCtrlAt(coord); if (cctrl == null) { return(false); } if (cctrl.IsBlocked()) { return(false); } if (cctrl._TgtObj == null) { return(false); } if (dir >= 0 && dir <= 5) { cctrl.TurnToDir(dir); } CellObjCtrl fwdCCtrl = CellObjCtrlUtils.GetFwdCellObjCtrl(cctrl); if (fwdCCtrl == null) { return(false); } if (fwdCCtrl.IsBlocked()) { return(false); } if (fwdCCtrl._TgtObj != null) { return(false); } _MiroMgr.MoveFwdInTF(cctrl.transform); return(false); }