public void MoveTo(PositionIndex from, PositionIndex to) { PositionIndex deltaPos = to - from; rectTransform.DOAnchorPos(rectTransform.anchoredPosition + new Vector2(deltaPos.x * ElementManager.CELL_WIDTH, deltaPos.y + ElementManager.CELL_HEIGHT), ElementManager.MOVE_TIME_ONCE); }
public Element GetNextElementByOrientation(Element source, Orientation orientation) { PositionIndex targetPositionIndex = source.currentPositionIndex; Element target; switch (orientation) { case Orientation.Up: targetPositionIndex.y += 1; break; case Orientation.Down: targetPositionIndex.y -= 1; break; case Orientation.Left: targetPositionIndex.x -= 1; break; case Orientation.Right: targetPositionIndex.x += 1; break; } Ins.elements.TryGetValue(source.currentPositionIndex, out target); return(target); }
void MoveTo(PositionIndex targetPositionIndex) { isMoving = true; elementView.MoveTo(currentPositionIndex, targetPositionIndex); ElementManager.Ins.elements[targetPositionIndex] = this; lastPositionIndex = currentPositionIndex; currentPositionIndex = targetPositionIndex; StartCoroutine(OnMoveEnd(ElementManager.MOVE_TIME_ONCE)); }