private void SetSession() { /* * Pega uma outra imagem da lista e setta como o sprite do "originalImage" */ Sprite aux; aux = currentImage; int _rng = Random.Range(0, originalImages.Count); currentImage = originalImages[_rng]; originalImages.Remove(currentImage); if (aux) { originalImages.Add(aux); } originalSprite.sprite = currentImage; if (paintManager) { paintManager.ClearTexture(Color.white); } if (bonusBar) { bonusBar.StartTimer(bonusBarDecreaseRatio); } gMusicManager.PlaySound(Sounds.TURNPAGE); stageState = StageState.Playing; }
private void PaintLoop() { /* * Eh chamada uma vez for Update(). * Dentro dela a posicao do mouse eh calculada e, se MouseButton(0) estiver pressionado, pinta a textura com um certo tamanho de pincel e uma cor em uma posicao. */ Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Input.GetMouseButton(0) || Input.GetMouseButton(1)) { if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { Vector2 pixelCoordinate = CoordinateFromRaycastHit(hit); if (interpolatePixels) { PaintWithBresenhamPixelInterpolation(lastPosition, pixelCoordinate); } Paint(texture, pixelCoordinate, currentColor, brush); lastPosition = pixelCoordinate; if (Input.GetMouseButtonDown(0)) { gMusicManager.PlaySound(Sounds.SCRIBBLE); } } } if (Input.GetMouseButtonUp(0)) { gMusicManager.StopSound(); } }