// Update is called once per frame void Update() { if (floor.type == Tile.TileType.SLIME) { Kill(); } else if (floor.type == Tile.TileType.VILLAGE) { Win(); } if (menu && menu.IsActive() || dead) { return; } if (focusedTileOverlay) { Tile t = Tile.GetFocusedTile(); if (t && !UIHover.IsMouseOverUI() && !moving && timeLeft > 0) { Face(t); Color color = TestSpendTime(t.GetTimeLost()) ? Color.white : Color.red; focusedTileOverlay.Highlight(t, color); } else { focusedTileOverlay.Disable(); } } if (Input.GetMouseButtonDown(0) && !UIHover.IsMouseOverUI() && !moving) { Tile t = Tile.GetFocusedTile(); if (t) { TryMove(t); } } if (moving) { float dist = (floor.transform.position - transform.position).magnitude; if (dist > 0.05) { if (source && !source.isPlaying && footStepCounter > 0) { source.Play(); footStepCounter--; } transform.position = Vector2.Lerp(transform.position, floor.transform.position, speed); } else { footStepCounter = maxFootSteps; moving = false; transform.position = floor.transform.position; } } }