Пример #1
0
    void Start()
    {
        _moduleId = _moduleIdCounter++;

        for (int i = 0; i < 4; i++)
        {
            int j = i;
            DirectionalButtons [i].OnInteract += delegate() {
                HandleDirectionalButton(j); return(false);
            };
        }
        for (int i = 0; i < 2; i++)
        {
            int j = i;
            RotationalButtons [i].OnInteract += delegate() {
                HandleRotationalButton(j); return(false);
            };
        }
        for (int i = 0; i < 2; i++)
        {
            int j = i;
            ScrollerButtons [i].OnInteract += delegate() {
                HandleScrollerButton(j); return(false);
            };
        }
        ButtonVerifySolution.OnInteract += HandleVerifySolution;

        int solution_index = Rnd.Range(0, solutionNames.Count);

        solutionState = solutionStates[solution_index];
        solutionName  = solutionNames[solution_index];

        scroller     = new Scroller(solutionNames, ScrollerText);
        displayboard = new Board_6x6(solutionState);

        UpdateGrid(displayboard.getBoardState());
        FocusBox.transform.localPosition = displayboard.getFocusBoxCoords();

        Debug.LogFormat("[Grid Matching #{0}] Seed Grid: {1} Seed Label: {2}", _moduleId, solutionStates[solution_index], solutionName);
        Board_6x6.printBoard(solutionStates[solution_index]);
        Debug.LogFormat("[Grid Matching #{0}] Solution Grid: {1}  Solution Label: {2}", _moduleId, displayboard.getSolutionState(), solutionName);
        Board_6x6.printBoard(displayboard.getSolutionState());
        Debug.LogFormat("[Grid Matching #{0}] Current Grid: {1} Current Label: {2}", _moduleId, displayboard.getBoardState(), scroller.getState());
        Board_6x6.printBoard(displayboard.getBoardState());
    }
Пример #2
0
    private void HandleDirectionalButton(int i)
    {
        Audio.PlayGameSoundAtTransform(KMSoundOverride.SoundEffect.ButtonPress, DirectionalButtons[i].transform);
        DirectionalButtons[i].AddInteractionPunch(buttonbump);
        Vector3 currentposition = FocusBox.transform.localPosition;

        switch (i)
        {
        case 0:
            if (currentposition.z > -0.02f)
            {
                currentposition.z -= 0.02f;
                displayboard.translate(Direction.DOWN);
            }
            break;

        case 1:
            if (currentposition.x > 0.00f)
            {
                currentposition.x -= 0.02f;
                displayboard.translate(Direction.LEFT);
            }
            break;

        case 2:
            if (currentposition.z < 0.02f)
            {
                currentposition.z += 0.02f;
                displayboard.translate(Direction.UP);
            }
            break;

        case 3:
            if (currentposition.x < 0.04f)
            {
                currentposition.x += 0.02f;
                displayboard.translate(Direction.RIGHT);
            }
            break;
        }
        FocusBox.transform.localPosition = currentposition;
        UpdateGrid(displayboard.getBoardState());
    }
Пример #3
0
 public bool checkProposedSolution(Board_6x6 playboard)
 {
     return((playboard.getBoardState() ^ this.solution) == 0);
 }