public void SwapPlaceAnimated(ref DragIt first, ref DragIt second) { // Swap places if (first != null) { m_CanPlay = false; m_TempPosition = first.transform.position; m_TempID = first.m_CurrentID; // first first.m_CurrentID = second.m_CurrentID; iTween.MoveTo(first.gameObject, second.transform.position, m_AnimationMoveTime); // second second.transform.SetAsLastSibling(); second.m_CurrentID = m_TempID; iTween.MoveTo(second.gameObject, m_TempPosition, m_AnimationMoveTime); if (first != second) { m_MovementsShowText.text = "Moves: " + ++m_MovementCount; } StartCoroutine(ControlPlaying(second.transform, m_TempPosition)); } }
private void CheckErrors() { if (m_SelectedFirst != null) { m_SelectedFirst.GetComponent <Outline>().enabled = false; AnimateSelectedTile(new Vector3(1, 1, 1)); m_SelectedFirst = null; } }
public void SwapPlace(ref DragIt first, ref DragIt second) { // Swap places if (first != null) { m_TempPosition = first.transform.position; m_TempID = first.m_CurrentID; // first first.m_CurrentID = second.m_CurrentID; first.transform.position = second.transform.position; // second second.m_CurrentID = m_TempID; second.transform.position = m_TempPosition; } }
void Awake() { CheckLevelManagerValues(); m_Tiles = new GameObject[m_Rows, m_Columns]; int winID = 0; // for setting each tile's win id float uvWidth = 1.0f / m_Columns; float uvHeight = 1.0f / m_Rows; for (int i = 0; i < m_Rows; i++) { for (int j = 0; j < m_Columns; j++) { m_Tiles[i, j] = Instantiate(m_TilePrefab, m_InstantiateParent); m_Tiles[i, j].name = "Tile " + i + ", " + j; DragIt temp = m_Tiles[i, j].GetComponent <DragIt>(); temp.m_WinID = winID; temp.m_CurrentID = winID++; temp.GetComponent <RawImage>().material = m_Material; temp.GetComponent <RawImage>().uvRect = new Rect(j * uvWidth, i * uvHeight, uvWidth, uvHeight); RectTransform rect = m_Tiles[i, j].GetComponent <RectTransform>(); rect.sizeDelta = new Vector2(Screen.width / m_Columns, Screen.height / m_Rows); rect.anchoredPosition = new Vector3(j * rect.rect.width, i * rect.rect.height, 0); } } m_Center.sizeDelta = m_Tiles[0, 0].GetComponent <RectTransform>().sizeDelta; m_Center.anchoredPosition = new Vector2(((m_Center.rect.width * m_Columns) / 2) - (m_Center.rect.width / 2), ((m_Center.rect.height * m_Rows) / 2) - (m_Center.rect.height / 2)); foreach (GameObject drg in m_Tiles) { drg.transform.SetParent(m_Center); } m_Center.anchoredPosition = new Vector2(0, 0); }