コード例 #1
0
        private static void AddPrefabMenuItems(ref GenericMenu menu, ActionUtility.ActionCreationParams actionParams)
        {
            Type        type = actionParams.parameter.GetType();
            List <Type> actionsSortedByCategory = ActionTargets.GetActionsSortedByCategory();

            using (List <Type> .Enumerator enumerator = actionsSortedByCategory.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Type current = enumerator.get_Current();
                    ActionUtility.ActionCreationParams actionCreationParams = new ActionUtility.ActionCreationParams(actionParams);
                    List <ActionTarget> actionTargets = ActionTargets.GetActionTargets(current);
                    using (List <ActionTarget> .Enumerator enumerator2 = actionTargets.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            ActionTarget current2 = enumerator2.get_Current();
                            if (current2.get_AllowPrefabs() && current2.get_ObjectType().IsAssignableFrom(type))
                            {
                                actionCreationParams.actionType   = current;
                                actionCreationParams.actionTarget = current2;
                                menu.AddItem(new GUIContent(Labels.GetActionLabel(current)), false, new GenericMenu.MenuFunction2(ActionUtility.AddAction), actionCreationParams);
                            }
                        }
                    }
                }
            }
        }