public void UpdatePosition() { #if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR if (SecondaryDragAction != Rotate && IsProcessingSecondaryDragAction) { return; } #else if (Input.GetMouseButton(1) || Input.GetMouseButtonUp(1) || Input.GetMouseButton(2) || Input.GetMouseButtonUp(2)) { return; } #endif if (PointerPositions.Count < 1 || PointerDragOffsets.Count < 1 || (IsOnline && !hasAuthority)) { return; } Vector2 targetPosition = UnityExtensionMethods.CalculateMean(PointerPositions.Values.ToList()); targetPosition = targetPosition + UnityExtensionMethods.CalculateMean(PointerDragOffsets.Values.ToList()); if (ParentCardStack != null) { UpdateCardStackPosition(targetPosition); } else if (!IsStatic) { transform.position = targetPosition; } if (!IsStatic) { if (PlaceHolderCardStack != null) { PlaceHolderCardStack.UpdateLayout(PlaceHolder, targetPosition); } if (IsOnline) { CmdUpdatePosition(((RectTransform)transform).anchoredPosition); } } }