Esempio n. 1
0
    IEnumerator HandleMemorySprites(HitEvent nextHitObject, int playMode)
    {
        if (nextHitObject.getColorArray().Length == 4) // Next hit event contains colorArray information
        {
            colorArray = nextHitObject.getColorArray();
        }

        yield return(new WaitForSecondsRealtime(scrollDelay / 4000f));

        if ((playMode == 1 || playMode == -1) && nextHitObject.IsNote())                                                                  // Memory or inverted memory note, draw sprites
        {
            FlashManager.Instance.TurnOn(spriteLeftBig, spriteLeftBig.GetComponent <Image>().color, colorArray[0], scrollDelay / 20000f); // 1/20th of scrollDelay
            FlashManager.Instance.TurnOn(spriteLeftSmall, spriteLeftSmall.GetComponent <Image>().color, colorArray[1], scrollDelay / 20000f);
            FlashManager.Instance.TurnOn(spriteRightSmall, spriteRightSmall.GetComponent <Image>().color, colorArray[2], scrollDelay / 20000f);
            FlashManager.Instance.TurnOn(spriteRightBig, spriteRightBig.GetComponent <Image>().color, colorArray[3], scrollDelay / 20000f);
        }
        else if (playMode == 0)                                                                                                         // Step note, clear sprites
        {
            FlashManager.Instance.TurnOn(spriteLeftBig, spriteLeftBig.GetComponent <Image>().color, Color.clear, scrollDelay / 10000f); // 1/10th of scrollDelay
            FlashManager.Instance.TurnOn(spriteLeftSmall, spriteLeftSmall.GetComponent <Image>().color, Color.clear, scrollDelay / 10000f);
            FlashManager.Instance.TurnOn(spriteRightSmall, spriteRightSmall.GetComponent <Image>().color, Color.clear, scrollDelay / 10000f);
            FlashManager.Instance.TurnOn(spriteRightBig, spriteRightBig.GetComponent <Image>().color, Color.clear, scrollDelay / 10000f);
        }
        yield return(null);
    }