Esempio n. 1
0
        void ShowPopupMenu()
        {
            var menu = new GenericMenu();

            foreach (var i in SelectionGroupUtility.GetGroupNames())
            {
                menu.AddItem(new GUIContent($"Initialize from Selection Group/{i}"), false, InitChangeList, i);
            }
            menu.AddItem(new GUIContent("Enable Property Editing"), enableEdit, () => enableEdit = !enableEdit);
            menu.ShowAsContext();
        }
Esempio n. 2
0
 void RefreshGroupIndex()
 {
     lights.Clear();
     renderers.Clear();
     lightGroups.Clear();
     rendererGroups.Clear();
     foreach (var n in SelectionGroupUtility.GetGroupNames())
     {
         foreach (var g in SelectionGroupUtility.GetMembers(n))
         {
             if (g.TryGetComponent <Light>(out Light light))
             {
                 AddLight(light);
             }
             if (g.TryGetComponent <Renderer>(out Renderer renderer))
             {
                 AddRenderer(renderer);
             }
         }
     }
     foreach (var kv in lightGroups)
     {
         var cullingMask = kv.Key;
         foreach (var renderer in renderers)
         {
             if ((1 << renderer.gameObject.layer & cullingMask) != 0)
             {
                 if (rendererGroups.TryGetValue(cullingMask, out HashSet <Renderer> group))
                 {
                     group.Add(renderer);
                 }
                 else
                 {
                     rendererGroups.Add(cullingMask, new HashSet <Renderer>(new[] { renderer }));
                 }
             }
         }
     }
 }