void OnMouseDrag()
    {
        TimelinePosition = Input.mousePosition.x - deltaX;
        TimelinePosition = CrossSceneData.Remap(TimelinePosition, 0, Screen.width, timelineIndicator.LeftBorder, timelineIndicator.RightBorder);
        Timestamp        = CrossSceneData.Remap(TimelinePosition, 0, Screen.width, 0, audioSource.clip.length);

        timelineIndicator.updateSingleNotePosition(transform);
    }
    private void OnMouseOver()
    {
        // Anchor position on action1 key
        if (Input.GetKeyDown(action1))
        {
            mouseAnchoredPosition = CrossSceneData.Remap(Input.mousePosition.x, 0, Screen.width,
                                                         -timelineIndicator.TimelineCanvasRadius, timelineIndicator.TimelineCanvasRadius);

            deltaX = mouseAnchoredPosition - rectTransform.anchoredPosition.x;
        }
        // Delete object on action2 key
        else if (Input.GetKeyDown(action2) || Input.GetMouseButtonDown(1))
        {
            Destroy(transform.gameObject);
        }
    }
Beispiel #3
0
    public Texture2D CreateWaveformSpectrumTexture(int leftBorder, int rightBorder)
    {
        int       width           = (int)timelineTransform.rect.width;
        int       height          = (int)timelineTransform.rect.height;
        Texture2D timelineTexture = new Texture2D(width, height, TextureFormat.RGBA32, false);

        float[] samples  = new float[monoAudioClip.samples];
        float[] waveform = new float[width];
        monoAudioClip.GetData(samples, 0);

        List <float> samplesList = new List <float>(samples);

        leftBorder  = (int)CrossSceneData.Remap(leftBorder, 0, Screen.width, 0, samplesList.Count);
        rightBorder = (int)CrossSceneData.Remap(rightBorder, 0, Screen.width, 0, samplesList.Count);
        samplesList.RemoveRange(rightBorder, samplesList.Count - rightBorder);
        samplesList.RemoveRange(0, leftBorder);


        int packSize = (samplesList.Count / width) + 1;
        int s        = 0;

        for (int i = 0; i < samplesList.Count; i += packSize)
        {
            waveform[s] = Mathf.Abs(samplesList[i]);
            s++;
        }

        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < height; y++)
            {
                timelineTexture.SetPixel(x, y, backgroundColor);
            }
        }

        for (int x = 0; x < waveform.Length; x++)
        {
            for (int y = 0; y <= waveform[x] * ((float)height * .75f); y++)
            {
                timelineTexture.SetPixel(x, (height / 2) + y, waveformColor);
                timelineTexture.SetPixel(x, (height / 2) - y, waveformColor);
            }
        }
        timelineTexture.Apply();

        return(timelineTexture);
    }
Beispiel #4
0
    private void Awake()
    {
        instance = this;

        if (decklist == null)
        {
            decklist = new List <string>();
            decklist.Add("Hop");
            decklist.Add("Leap");
            decklist.Add("Dodge");
            decklist.Add("Peck");
            decklist.Add("Flurry");
            decklist.Add("Gust");
        }

        if (!rewardsSet)
        {
            beaten = new bool[4];

            rewardsSet = true;
            rewards    = new List <string> [4];

            rewards[0] = new List <string>();
            rewards[0].Add("Eagle Eye");
            rewards[0].Add("Drill Peck");
            rewards[0].Add("Flap");

            rewards[1] = new List <string>();
            rewards[1].Add("Talon Storm");
            rewards[1].Add("Hurricane Gale");
            rewards[1].Add("Storm's Eye");

            rewards[2] = new List <string>();
            rewards[2].Add("Sharp Claws");
            rewards[2].Add("Take Off");
            rewards[2].Add("Fury Swipe");

            rewards[3] = new List <string>();
            rewards[3].Add("ULTRA PECK");
        }
    }
    private void Update()
    {
        bool moved = false;

        if (Input.mouseScrollDelta.y > 0)
        {
            MoveUp();
            moved = true;
        }
        else if (Input.mouseScrollDelta.y < 0)
        {
            MoveDown();
            moved = true;
        }

        // If list was moved
        if (moved)
        {
            //CrossSceneData.SelectedLevelName = boxes[selectedBox].GetComponent<LevelBox>().title.text;
            //menuManager.MusicSource.clip = musicList[selectedBox];
            //menuManager.MusicSource.Play();
            ChangeMusic();
        }

        // Move animation requires interpolation
        for (int i = 0; i < boxes.Count; i++)
        {
            Vector3 localDestination   = new Vector3(0, i * -100f + globalDestination.y, 1);
            float   distanceFromCenter = Mathf.Abs(i - selectedBox);
            if (distanceFromCenter > 3)
            {
                distanceFromCenter = 3;
            }
            distanceFromCenter = CrossSceneData.Remap(distanceFromCenter, 0, boxes.Count, 4, 2f);
            Vector3 localScale = new Vector3(distanceFromCenter, distanceFromCenter, 1);
            boxes[i].anchoredPosition = Vector3.Lerp(boxes[i].anchoredPosition, localDestination, Time.deltaTime * movementSpeed);
            boxes[i].localScale       = Vector3.Lerp(boxes[i].localScale, localScale, Time.deltaTime * movementSpeed);
        }
    }