private void SwapKeys(GameObject target) { DetachableKey targetKey = target.GetComponent <DetachableKey>(); char temp = targetKey.GetValue(); targetKey.SetValue(homeKey.GetValue()); homeKey.SetValue(temp); target.transform.parent.GetComponent <Puzzle>().ResetBoardAt(targetKey.GetRow(), targetKey.GetCol(), targetKey); homeObject.transform.parent.GetComponent <Puzzle>().ResetBoardAt(homeKey.GetRow(), homeKey.GetCol(), homeKey); Object.Destroy(dragging); dragging = null; draggingKey = null; }
public static bool AutoPickUp(char c) { int firstBlank = FindFirstBlank(); if (firstBlank > -1) { GameObject target = TabletPuzzle.GetKeyAt(firstBlank).gameObject; DetachableKey dk = KeyUtilities.ConvertKey <BlankKey, DetachableKey>( ref target, ColorUtilities.DETACHABLE, "DetachableKey" ); dk.SetValue(c); TabletPuzzle.ResetBoardAt(dk.GetRow(), dk.GetCol(), dk); return(true); } return(false); }
private void PutDownKey(GameObject target) { BlankKey bk = KeyUtilities.ConvertKey <DetachableKey, BlankKey>( ref homeObject, ColorUtilities.BLANK, "BlankKey" ); bk.gameObject.transform.parent.gameObject.GetComponent <Puzzle>().ResetBoardAt(bk.GetRow(), bk.GetCol(), bk); BlankKey targetKey = target.GetComponent <BlankKey>(); char val = draggingKey.GetValue(); Object.Destroy(dragging); dragging = null; draggingKey = null; DetachableKey placed = KeyUtilities.ConvertKey <BlankKey, DetachableKey>( ref target, ColorUtilities.DETACHABLE, "DetachableKey" ); placed.SetValue(val); placed.gameObject.transform.parent.GetComponent <Puzzle>().ResetBoardAt(placed.GetRow(), placed.GetCol(), placed); }