Esempio n. 1
0
    private void Update()
    {
        //var newPosition = (Vector2)transform.position + Direction * Speed * Time.deltaTime;
        //rb.MovePosition(newPosition);
        transform.position += Time.deltaTime * Vector3.left * Speed;


        // helps me quickly visualize every color is working by cycling through them
        // DEBUG ONLY
        if (DebugCycleThroughColors)
        {
            timer += Time.deltaTime;
            if (timer > 1.0f)
            {
                timer = 0.0f;
                int nextColor = ((int)color) << 1;
                if (nextColor > 0x800)   // wrap
                {
                    nextColor = 0x1;
                }
                color = (EColorFlag)nextColor;

                Color rgb = EColorRGBHelper.FromSingleFlagToRGB(color);

                var spriteRenderers = GetComponentsInChildren <SpriteRenderer>();
                foreach (var sprite in spriteRenderers)
                {
                    sprite.color = rgb;
                }
            }
        }
    }
Esempio n. 2
0
    /// <summary>
    /// Convert a single EColorFlag to an RGB Color (black if 0).
    /// </summary>
    /// <param name="flag"></param>
    /// <returns></returns>
    public static Color FromSingleFlagToRGB(EColorFlag flag)
    {
        Color output = Color.black;

        switch (flag)
        {
        case EColorFlag.White:
            output = Color.white;
            break;

        case EColorFlag.Red:
            output = Color.red;
            break;

        case EColorFlag.Blue:
            output = Color.blue;
            break;

        case EColorFlag.Yellow:
            output = Color.yellow;
            break;

        case EColorFlag.Green:
            output = Color.green;
            break;

        case EColorFlag.Orange:
            output = new Color(1.0f, 0.75f, 0.0f);
            break;

        case EColorFlag.Pink:
            output = new Color(1.0f, 0.75f, 0.80f);
            break;

        case EColorFlag.Cyan:
            output = Color.cyan;
            break;

        case EColorFlag.Purple:
            output = new Color(0.73f, 0.25f, 0.73f);
            break;

        case EColorFlag.NavyBlue:
            output = new Color(0.22f, 0.25f, 0.57f);
            break;

        case EColorFlag.Brown:
            output = new Color(.90f, 0.41f, 0.11f);
            break;

        case EColorFlag.ForestGreen:
            output = new Color(0.23f, 0.42f, 0.15f);
            break;
        }

        return(output);
    }
Esempio n. 3
0
    public void ShuffleBindings(int totalAllowed)
    { //Goes through and rebinds 0-11, None is left at element 12
        for (int i = 11; i > 0; i--)
        {
            int        ran  = Random.Range(0, i);
            EColorFlag temp = colors[i];
            colors[i]   = colors[ran];
            colors[ran] = temp;
        }

        StartCoroutine(RevealKeys(totalAllowed));

        if (prevSelected > -1 && prevSelected < 9)
        {
            buttons[prevSelected].gameObject.transform.GetChild(0).GetComponent <Text>().color = Color.black;
        }

        playerColor = EColorFlag.None;
        playerRenderer.material.SetColor("_Color", EColorRGBHelper.FromSingleFlagToRGB(playerColor));
        miniPlayer.color = EColorRGBHelper.FromSingleFlagToRGB(playerColor);
    }
Esempio n. 4
0
    public void SetNewColor(KeyCode key, int button)
    {
        AudioSource.PlayClipAtPoint(colorChangeSounds[Random.Range(0, colorChangeSounds.Count - 1)], new Vector3(0.0f, 0.0f - 10.0f));
        EColorFlag tempColor = colors[bindings[key]];

        playerRenderer.material.SetColor("_Color", EColorRGBHelper.FromSingleFlagToRGB(tempColor));
        miniPlayer.color            = EColorRGBHelper.FromSingleFlagToRGB(tempColor);
        playerColor                 = tempColor;
        cooldown                    = cooldownMax;
        buttons[button].image.color = EColorRGBHelper.FromSingleFlagToRGB(tempColor);

        StartCoroutine(ButtonFade(key, button));

        if (prevSelected != button)
        {
            if (prevSelected > -1 && prevSelected < 9)
            {
                buttons[prevSelected].gameObject.transform.GetChild(0).GetComponent <Text>().color = Color.black;
            }
            buttons[button].gameObject.transform.GetChild(0).GetComponent <Text>().color = Color.white;
            prevSelected = button;
        }
    }
Esempio n. 5
0
    /// <summary>
    /// Given a set of flags, return a random single flag from within it.
    /// </summary>
    /// <param name="flags"></param>
    /// <returns></returns>
    public static EColorFlag GetRandomFlagFromFlags(EColorFlag flags)
    {
        // straight up copied from https://stackoverflow.com/a/3002313

        if (flags == 0)
        {
            return(EColorFlag.None);
        }

        var matching = Enum.GetValues(typeof(EColorFlag))
                       .Cast <EColorFlag>()
                       .Where(c => ((flags & c) == c && c != 0))
                       .ToArray();

        if (matching.Length == 0)
        {
            return(EColorFlag.None);
        }

        EColorFlag myEnum     = EColorFlag.None;
        bool       foundColor = false;

        while (!foundColor)
        {
            myEnum = matching[new System.Random().Next(matching.Length)];
            if (myEnum == EColorFlag.None)
            {
                continue;
            }

            foundColor = true;
        }


        return(myEnum);
    }