Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetMouseButtonDown(0))
        {
            Debug.Log("Shift Click");
            connectClick(Input.mousePosition.x, Input.mousePosition.y);
            //return;
        }
        else if (!namePopUp.isActiveAndEnabled && !sizePopUp.isActiveAndEnabled && !laserPopup.isActiveAndEnabled)
        {
            // escape or right click resets delegate
            if (Input.GetKeyDown(KeyCode.Escape) || Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Alpha0) ||
                Input.GetKeyDown(KeyCode.Alpha1) || Input.GetKeyDown(KeyCode.Keypad0) || Input.GetKeyDown(KeyCode.Keypad1))
            {
                clickTile = this.toggleWall;
                // p enters player placement mode
            }
            else if (Input.GetKeyDown(KeyCode.P))
            {
                clickTile = this.placePlayer;
            }
            else if (Input.GetKeyDown(KeyCode.Alpha2) || Input.GetKeyDown(KeyCode.Alpha2))
            {
                clickTile = this.placePlayer;
            }
            else if (Input.GetKeyDown(KeyCode.Alpha3) || Input.GetKeyDown(KeyCode.Alpha3))
            {
                clickTile = this.place3;
            }
            else if (Input.GetKeyDown(KeyCode.Alpha4) || Input.GetKeyDown(KeyCode.Alpha4))
            {
                clickTile = this.place4;
                // g enters goal placement mode
            }
            else if (Input.GetKeyDown(KeyCode.G))
            {
                clickTile = this.placeGoal;
                // s enters swap placement mode
            }
            else if (Input.GetKeyDown(KeyCode.S))
            {
                clickTile = this.placeSwap;
                // if left click this frame, handle click0
            }
            else if (Input.GetMouseButtonDown(0))
            {
                click0(Input.mousePosition.x, Input.mousePosition.y);
            }
        }

        renderLines();
    }
Esempio n. 2
0
    public void setOnClick(clickTileOptions value)
    {
        switch (value)
        {
        case clickTileOptions.WALL:
            clickTile = this.toggleWall;
            break;

        case clickTileOptions.PLAYER:
            clickTile = placePlayer;
            break;

        case clickTileOptions.MIMIC:
            clickTile = place3;
            break;

        case clickTileOptions.MIRROR:
            clickTile = place4;
            break;

        case clickTileOptions.GOAL:
            clickTile = placeGoal;
            break;

        case clickTileOptions.SWAP:
            clickTile = placeSwap;
            break;

        case clickTileOptions.BUTTON:
            clickTile = placeButton;
            break;

        case clickTileOptions.PORTAL:
            clickTile = placePortal;
            break;

        default:
            throw new System.NotImplementedException();
        }
    }
Esempio n. 3
0
    // Use this for initialization
    void Start()
    {
        // initialize grid
        if (loadedLevel && levelName != null)
        {
            level = IOScript.ParseLevel(levelName);
            int b = 0;
            for (int r = 0; r < level.rows; r++)
            {
                for (int c = 0; c < level.cols; c++)
                {
                    if (level.board[r, c] / 10 == 3)
                    {
                        buttonList.Add(new coord(r, c));
                        lasers.Add(new coord(r, c), level.lasers[level.buttons[b]]);
                        b++;
                    }
                    if (level.board[r, c] / 10 == 5)
                    {
                        portalList.Add(new coord(r, c));
                    }
                }
            }
            for (int p = 0; p < level.portals.GetLength(0); p++)
            {
                portalMapping.Add(portalList[p], portalList[level.portals[p]]);
            }
        }
        else
        {
            level.board = new int[level.rows, level.cols];
            fillOutline(level);
        }
        width       *= canvas.pixelRect.width;
        sidebarWidth = canvas.pixelRect.width - width;
        height      *= canvas.pixelRect.height;

        clickTile = toggleWall;

        // creates entire view
        createAndPositionSquares(level);

        // position sidebar buttons
        saveAsButton.rectTransform.anchoredPosition = new Vector2((width + sidebarWidth / 2f), sidebarWidth / 4f);
        saveAsButton.rectTransform.sizeDelta        = new Vector2(sidebarWidth, sidebarWidth / 2f);
        saveAsButton.rectTransform.localScale       = Vector2.one;
        saveButton.rectTransform.anchoredPosition   = new Vector2((width + sidebarWidth / 2f), 3f * sidebarWidth / 4f);
        saveButton.rectTransform.sizeDelta          = new Vector2(sidebarWidth, sidebarWidth / 2f);
        saveButton.rectTransform.localScale         = Vector2.one;
        resizeButton.rectTransform.anchoredPosition = new Vector2((width + sidebarWidth / 2f), 5f * sidebarWidth / 4f);
        resizeButton.rectTransform.sizeDelta        = new Vector2(sidebarWidth, sidebarWidth / 2f);
        resizeButton.rectTransform.localScale       = Vector2.one;

        for (int i = 0; i < clickSetters.Count; i++)
        {
            RawImage button = Instantiate(this.sidebarPiece);
            button.transform.parent = this.canvas.transform;
            positionSidebarPiece(button, clickSetters[i], i, clickSetters.Count, height, sidebarWidth * 3f / 2f);
        }

        /*sidebar.rectTransform.anchoredPosition = new Vector2((width + sidebarWidth / 2f), 2.35f * sidebarWidth);
         * sidebar.rectTransform.sizeDelta = new Vector2(sidebarWidth, height - (sidebarWidth * 3f / 2f) - padding);
         * sidebar.rectTransform.localScale = Vector2.one;*/

        setNamePopUpVisible(false);
        setSizePopUpVisible(false);
    }