Ejemplo n.º 1
0
    bool AddShadowPlane()
    {
        TubeLight tubeLight = (TubeLight)target;

        int i = 0;

        for (; i < TubeLight.maxPlanes; i++)
        {
            if (tubeLight.m_ShadowPlanes[i] != null)
            {
                continue;
            }

            GameObject           go          = new GameObject("Shadow Plane");
            TubeLightShadowPlane shadowPlane = go.AddComponent <TubeLightShadowPlane>();

            go.transform.position       = tubeLight.transform.position + go.transform.forward;
            go.transform.parent         = tubeLight.transform;
            tubeLight.m_ShadowPlanes[i] = shadowPlane;
            EditorUtility.SetDirty(tubeLight);
            break;
        }

        return(i < TubeLight.maxPlanes);
    }
Ejemplo n.º 2
0
 public TubeLightShadowPlane.Params[] GetShadowPlaneParams(ref TubeLightShadowPlane.Params[] p)
 {
     if (p == null || p.Length != maxPlanes)
     {
         p = new TubeLightShadowPlane.Params[maxPlanes];
     }
     for (int i = 0; i < maxPlanes; i++)
     {
         TubeLightShadowPlane sp = m_ShadowPlanes[i];
         p[i].plane   = sp == null ? new Vector4(0, 0, 0, 1) : sp.GetShadowPlaneVector();
         p[i].feather = sp == null ? 1 : sp.feather;
     }
     return(p);
 }