static void makeMotionEnum(MotionClip motionClip)
        {
            string replace_(string src) =>
            src
            .Replace(' ', '_')
            .Replace('(', '_').Replace(')', '_').Replace('[', '_').Replace(']', '_')
            .Replace("+", "Plus").Replace("-", "Minus")
            ;

            var qNameList =
                from x in motionClip.ClipNames
                select replace_(x)
            ;

            var name = replace_(motionClip.name);

            ConstCreator.Create($"{name}", qNameList, $"Assets/{name}_indices.cs");
        }
Beispiel #2
0
    static public void Create()
    {
        if (Selection.objects == null)
        {
            return;
        }

        makeConstListFile_(Selection.objects);

        return;


        void makeConstListFile_(UnityEngine.Object[] selectedObjects)
        {
            var catnameIdLists =
                from asset in selectedObjects.OfType <PhysicsCategoryNames>()
                select new
            {
                assetname  = asset.name,
                categories =
                    from x in asset.CategoryNames.Select((cat, i) => (cat, i))
                    where x.cat != ""
                    select x
            };
            var catnameFlagLists =
                from asset in catnameIdLists
                select new
            {
                asset.assetname,
                categories = asset.categories.Select(x => (x.cat, i: 1 << x.i))
            };

            foreach (var x in catnameIdLists)
            {
                ConstCreator.Create($"{x.assetname}Id", x.categories, $"Assets/{x.assetname}Id.cs");
            }
            foreach (var x in catnameFlagLists)
            {
                ConstCreator.Create($"{x.assetname}Flag", x.categories, $"Assets/{x.assetname}Flag.cs");
            }
        }
    }
}