Пример #1
0
    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;
    }
Пример #2
0
    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();
        }
    }