ValveResourceFormat.Resource.DetermineResourceTypeByCompilerIdentifier C# (CSharp) Method

DetermineResourceTypeByCompilerIdentifier() private static method

private static DetermineResourceTypeByCompilerIdentifier ( SpecialDependencies input ) : ResourceType
input SpecialDependencies
return ResourceType
        private static ResourceType DetermineResourceTypeByCompilerIdentifier(SpecialDependencies.SpecialDependency input)
        {
            var identifier = input.CompilerIdentifier;

            if (identifier.StartsWith("Compile", StringComparison.Ordinal))
            {
                identifier = identifier.Remove(0, "Compile".Length);
            }

            // Special mappings and otherwise different identifiers
            switch (identifier)
            {
                case "Psf": return ResourceType.ParticleSnapshot;
                case "AnimGroup": return ResourceType.AnimationGroup;
                case "VPhysXData": return ResourceType.PhysicsCollisionMesh;
                case "Font": return ResourceType.BitmapFont;
                case "RenderMesh": return ResourceType.Mesh;
                case "Panorama":
                    switch (input.String)
                    {
                        case "Panorama Style Compiler Version": return ResourceType.PanoramaStyle;
                        case "Panorama Script Compiler Version": return ResourceType.PanoramaScript;
                        case "Panorama Layout Compiler Version": return ResourceType.PanoramaLayout;
                        case "Panorama Dynamic Images Compiler Version": return ResourceType.PanoramaDynamicImages;
                    }

                    return ResourceType.Panorama;
            }

            ResourceType resourceType;

            if (Enum.TryParse(identifier, false, out resourceType))
            {
                return resourceType;
            }

            return ResourceType.Unknown;
        }