Пример #1
0
    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;
    }
Пример #2
0
    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);
    }
Пример #3
0
    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);
    }