// 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(); }
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(); } }
// 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); }