Example #1
0
    // Start is called before the first frame update
    void Awake()
    {
        curr_color = new List <Color>();
        old_color  = new List <Color>();

        // collect id's of each target object/channel
        if (channelmode)
        {
            channel_id = channel.name; curr_color.Add(Color.clear); old_color.Add(Color.clear);
        }
        else
        {
            channel_id = "";
            foreach (GameObject obj in objects)
            {
                channel_id += obj.GetHashCode();
                curr_color.Add(Color.clear);
                old_color.Add(Color.clear);
            }
        }

        // hide trigger's texture
        gameObject.transform.GetChild(0).gameObject.SetActive(false);
        parent = gameObject.transform.parent.gameObject.GetComponent <StopColorChange>();

        /*
         * // if copy color
         * if (copy && copy_color != null)
         * {
         *  new_color = copy_color.channelcolor;
         *  Debug.Log(new_color == copy_color.channelcolor);
         * }
         *
         * float h = 0, s = 0, v = 0, a = new_color.a;
         * Color.RGBToHSV(new_color, out h, out s, out v);
         *
         * h += (hue / 360);
         * s += sat;
         * v += val;
         * a += alpha;
         *
         * if (h > 1) { h -= 1; }
         * else if (h < 0) { h += 1; }
         *
         * if (s > 1) { s = 1; }
         * else if (s < 0) { s = 0; }
         *
         * if (v > 1) { v = 1; }
         * else if (v < 0) { v = 0; }
         *
         * if (a > 1) { a = 1; }
         * else if (a < 0) { a = 0; }
         *
         * new_color = Color.HSVToRGB(h, s, v);
         * new_color.a = a;
         *
         * duration *= 10;*/
    }
Example #2
0
    void Awake()
    {
        curr_color = new List <Color>();

        // collect id's of each target object/channel
        if (channelmode)
        {
            channel_id = channel.name; curr_color.Add(Color.clear);
        }
        else
        {
            channel_id = "";
            foreach (GameObject obj in objects)
            {
                channel_id += obj.GetHashCode();
                curr_color.Add(Color.clear);
            }
        }

        // hide trigger's texture
        gameObject.transform.GetChild(0).gameObject.SetActive(false);
        parent      = gameObject.transform.parent.gameObject.GetComponent <StopColorChange>();
        pulseParent = GameObject.FindGameObjectWithTag("PulseManager").GetComponent <StopColorChange>();

        // if copy color
        if (copy && copy_color != null)
        {
            new_color = copy_color.channelcolor;
        }

        float h = 0, s = 0, v = 0, a = new_color.a;

        Color.RGBToHSV(new_color, out h, out s, out v);

        h += (hue / 360);
        s += sat;
        v += val;
        a += alpha;

        if (h > 1)
        {
            h -= 1;
        }
        else if (h < 0)
        {
            h += 1;
        }

        if (s > 1)
        {
            s = 1;
        }
        else if (s < 0)
        {
            s = 0;
        }

        if (v > 1)
        {
            v = 1;
        }
        else if (v < 0)
        {
            v = 0;
        }

        if (a > 1)
        {
            a = 1;
        }
        else if (a < 0)
        {
            a = 0;
        }

        new_color   = Color.HSVToRGB(h, s, v);
        new_color.a = a;
    }