void Update() { if (roomLoaded) { mp = gridInfo.GetGridPos(Camera.main.ScreenToWorldPoint(Input.mousePosition)); if (roomController.Inbounds(mp)) { highlight.enabled = true; highlight.transform.position = gridInfo.GetGridVector(mp); //Commands executed on grid if (Input.GetKeyDown(KeyCode.Mouse0) || Input.GetKey(KeyCode.Mouse0) && mp != prevMousePos) { loadedRoom.SetValue(mp, Layer.Tex, brush); roomController.SetTex(mp, brush); } if (Input.GetKeyDown(KeyCode.Mouse1)) { SetBrush(loadedRoom.GetValue(mp, Layer.Tex)); } if (Input.GetKeyDown(KeyCode.Mouse2)) { if (loadedRoom.GetValue(mp, Layer.Collision) == 0) { loadedRoom.SetValue(mp, Layer.Collision, 1); roomController.AddBox(mp); } else { loadedRoom.SetValue(mp, Layer.Collision, 0); roomController.RemoveBox(mp); } } } else { highlight.enabled = false; } } //Other Commands if (Input.mouseScrollDelta.y > 0) { if (brush < roomController.tileSet.TileCount - 1) { SetBrush((byte)(brush + 1)); } else { SetBrush(0); } } else if (Input.mouseScrollDelta.y < 0) { if (brush != 0) { SetBrush((byte)(brush - 1)); } else { SetBrush((byte)(roomController.tileSet.TileCount - 1)); } } if (Input.GetKeyDown(KeyCode.Alpha1)) { loadedRoom.SetValue(mp, Layer.Other, NOTHING); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { loadedRoom.SetValue(mp, Layer.Other, FOUNTAIN); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { loadedRoom.SetValue(mp, Layer.Other, ARMSHROOM); } else if (Input.GetKeyDown(KeyCode.Alpha4)) { loadedRoom.SetValue(mp, Layer.Other, DOOR); } else if (Input.GetKeyDown(KeyCode.Alpha5)) { loadedRoom.SetValue(mp, Layer.Other, KEY); } else if (Input.GetKeyDown(KeyCode.Alpha6)) { loadedRoom.SetValue(mp, Layer.Other, GEBLIN); } else if (Input.GetKeyDown(KeyCode.Alpha7)) { loadedRoom.SetValue(mp, Layer.Other, NOMOVEU); } else if (Input.GetKeyDown(KeyCode.Alpha8)) { loadedRoom.SetValue(mp, Layer.Other, NOMOVED); } else if (Input.GetKeyDown(KeyCode.Alpha9)) { loadedRoom.SetValue(mp, Layer.Other, NOMOVEL); } else if (Input.GetKeyDown(KeyCode.Alpha0)) { loadedRoom.SetValue(mp, Layer.Other, NOMOVER); } //Room travel if (Input.GetKeyDown(KeyCode.UpArrow)) { Load(loadedRoom.exitNorth); UpdateRoom(); } if (Input.GetKeyDown(KeyCode.DownArrow)) { Load(loadedRoom.exitSouth); UpdateRoom(); } if (Input.GetKeyDown(KeyCode.LeftArrow)) { Load(loadedRoom.exitWest); UpdateRoom(); } if (Input.GetKeyDown(KeyCode.RightArrow)) { Load(loadedRoom.exitEast); UpdateRoom(); } //Move Camera if (Input.GetKey(KeyCode.W)) { editorCamera.Translate(0f, Time.deltaTime * cameraSpeed, 0f, Space.World); } if (Input.GetKey(KeyCode.A)) { editorCamera.Translate(Time.deltaTime * -cameraSpeed, 0f, 0f, Space.World); } if (Input.GetKey(KeyCode.S)) { editorCamera.Translate(0f, Time.deltaTime * -cameraSpeed, 0f, Space.World); } if (Input.GetKey(KeyCode.D)) { editorCamera.Translate(Time.deltaTime * cameraSpeed, 0f, 0f, Space.World); } //End of update prevMousePos = mp; }