Example #1
0
    public static void Add(FadeAmount newFade)
    {
        if (instance != null)
        {
            bool bExists = false;
            for (int i = 0; i < instance.Fades.Count; i++)
            {
                if (instance.Fades[i].GetPosition() == newFade.GetPosition())
                {
                    bExists = true;
                    instance.Fades[i].Distance = newFade.Distance;
                }
            }

            if (!bExists)
            {
                instance.Fades.Add(newFade);

                if (instance.Fades.Count >= 10)
                {
                    while (instance.Fades.Count > 10)
                    {
                        instance.Fades.RemoveAt(0);
                    }
                }
            }
        }
        else
        {
            GameObject GO = new GameObject("FadeSystem");
            GO.hideFlags = HideFlags.HideAndDontSave;
            instance     = GO.AddComponent <FadeQueue>();
            Add(newFade);
        }
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        float Distance = Vector3.Distance(Camera.main.transform.position, GetComponent <Renderer>().bounds.center);

        //Get a range that won''t overlap the target
        Distance = ((Distance / 10.0f) * 7.5f);
        Vector3 Direction = (Camera.main.transform.position - GetComponent <Renderer>().bounds.center).normalized;

        for (int i = 1; i <= NumSegments; i++)
        {
            float TmpDist = (Distance / NumSegments) * i;

            Vector3 Position = Camera.main.transform.position - Direction * TmpDist;
            Debug.DrawRay(Position, Vector3.up, Color.magenta);
            FadeQueue.Add(new FadeAmount(Position, FadeSize));
        }
    }