public s_object GetObjectFromWorld(Vector3 mousePositon) { Vector2 snap = Grid.SnapToGrid(mousePositon); s_object obj = Grid.ObjectFromWorld(snap); if (obj != null) { return(obj); } else { return(null); } }
private void Update() { if (Grid.gridworldsize.y > 0 && Grid.gridworldsize.x > 0) { Vector3 mousePositon = Camera.main.ScreenToWorldPoint(Input.mousePosition); s_object selectedObj = Grid.ObjectFromWorld(mousePositon); if (Input.GetKeyDown(KeyCode.W)) { spritenum++; } if (Input.GetKeyDown(KeyCode.S)) { spritenum--; } if (Input.GetKeyDown(KeyCode.E)) { angle += 90; } if (angle > 360) { angle = 0; } examplerend.gameObject.transform.localRotation = Quaternion.Euler(0, 0, angle); spritenum = Mathf.Clamp(spritenum, 0, spriteArray.Length - 1); examplerend.sprite = spriteArray[spritenum]; if (Grid.NodeFromWorld(mousePositon) != null) { Vector2 snap = Grid.SnapToGrid(mousePositon); if (Input.GetMouseButton(0)) { if (selectedObj != null) { if (selectedObj.GetComponent <s_object>().GetType() == typeof(o_tile)) { SpriteRenderer ren = selectedObj.GetComponent <SpriteRenderer>(); ren.sprite = spriteArray[spritenum]; ren.gameObject.transform.localRotation = examplerend.gameObject.transform.localRotation; } } //target.transform.position = mousePositon; if (Grid.ObjectFromWorld(mousePositon) == null) { Vector2Int vecint = Grid.VectorPositionFromWorld(mousePositon); if (selected_object != null) { s_object obj = Grid.SpawnObject(selected_object.name, snap); } } } if (Input.GetMouseButton(1)) { if (Grid.ObjectFromWorld(mousePositon) != null) { Vector2Int vecint = Grid.VectorPositionFromWorld(mousePositon); if (selected_object != null) { Grid.DespawnObject(snap); } } } } } if (Grid.nodes != null) { for (int x = 0; x < Grid.gridworldsize.x; x++) { for (int y = 0; y < Grid.gridworldsize.y; y++) { /* * SpriteRenderer colourRender = Grid.nodegameobjects[x, y].GetComponent<SpriteRenderer>(); * colourRender.color = Color.white; * if (Grid.CheckForNodeOnGrid(mousePositon, x, y)) * { * colourRender.color = Color.blue; * } */ } } } }