// Token: 0x060000E1 RID: 225 RVA: 0x0000B0A4 File Offset: 0x000092A4
        private static ACCMaterialEx Load(BinaryReader reader)
        {
            reader.ReadInt32();
            string        text          = reader.ReadString();
            string        text2         = reader.ReadString();
            string        name          = reader.ReadString();
            ShaderType    type          = ShaderType.Resolve(name);
            ACCMaterialEx accmaterialEx = new ACCMaterialEx(type)
            {
                name1 = text,
                name2 = text2
            };

            reader.ReadString();
            for (;;)
            {
                string text3 = reader.ReadString();
                if (text3 == "end")
                {
                    break;
                }
                string propName = reader.ReadString();
                string a;
                if ((a = text3) != null)
                {
                    if (!(a == "tex"))
                    {
                        if (!(a == "col") && !(a == "vec"))
                        {
                            if (a == "f")
                            {
                                float f = reader.ReadSingle();
                                accmaterialEx.SetFloat(propName, f);
                            }
                        }
                        else
                        {
                            Color c = new Color(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());
                            accmaterialEx.SetColor(propName, c);
                        }
                    }
                    else
                    {
                        string text4 = reader.ReadString();
                        string a2;
                        if ((a2 = text4) != null)
                        {
                            if (!(a2 == "tex2d"))
                            {
                                if (!(a2 == "null"))
                                {
                                    if (a2 == "texRT")
                                    {
                                        reader.ReadString();
                                        reader.ReadString();
                                    }
                                }
                            }
                            else
                            {
                                ACCTextureEx acctextureEx = new ACCTextureEx(propName);
                                acctextureEx.editname    = reader.ReadString();
                                acctextureEx.txtpath     = reader.ReadString();
                                acctextureEx.texOffset.x = reader.ReadSingle();
                                acctextureEx.texOffset.y = reader.ReadSingle();
                                acctextureEx.texScale.x  = reader.ReadSingle();
                                acctextureEx.texScale.y  = reader.ReadSingle();
                                accmaterialEx.texDic[acctextureEx.propKey] = acctextureEx;
                            }
                        }
                    }
                }
            }
            return(accmaterialEx);
        }
        private static ACCMaterialEx Load(BinaryReader reader)
        {
            int    version     = reader.ReadInt32();
            string name1       = reader.ReadString();
            string name2       = reader.ReadString();
            string shaderName1 = reader.ReadString();
            var    shaderType  = ShaderType.Resolve(shaderName1);

            var created = new ACCMaterialEx(shaderType);

            created.name1 = name1;
            created.name2 = name2;

            //created.shader = created.type;
            //created.type1 = ShaderMapper.resolve(shaderName1);
            //created.shader = created.type1.shader;

            string shaderName2 = reader.ReadString();

            while (true)
            {
                string type = reader.ReadString();
                if (type == "end")
                {
                    break;
                }

                string propName = reader.ReadString();
                switch (type)
                {
                case "tex":
                    string sub = reader.ReadString();
                    switch (sub)
                    {
                    case "tex2d":

                        var tex = new ACCTextureEx(propName);
                        tex.editname  = reader.ReadString();
                        tex.txtpath   = reader.ReadString();
                        tex.texOffset = new Vector2(reader.ReadSingle(),
                                                    reader.ReadSingle());
                        tex.texScale = new Vector2(reader.ReadSingle(),
                                                   reader.ReadSingle());
                        created.texDic[tex.propKey] = tex;
                        break;

                    case "null":
                        break;

                    case "texRT":
                        reader.ReadString();
                        reader.ReadString();
                        break;
                    }
                    break;

                case "col":
                case "vec":
                    var c = new Color(reader.ReadSingle(), reader.ReadSingle(),
                                      reader.ReadSingle(), reader.ReadSingle());
                    created.SetColor(propName, c);
                    break;

                case "f":
                    float f = reader.ReadSingle();
                    created.SetFloat(propName, f);
                    break;
                }
            }
            return(created);
        }
        private static ACCMaterialEx Load(BinaryReader reader) {
            int version = reader.ReadInt32();
            string name1 = reader.ReadString();
            string name2 = reader.ReadString();
            string shaderName1 = reader.ReadString();
            var shaderType = ShaderType.Resolve(shaderName1);
            
            var created = new ACCMaterialEx(shaderType);
            created.name1 = name1;
            created.name2 = name2;

            //created.shader = created.type;
            //created.type1 = ShaderMapper.resolve(shaderName1);
            //created.shader = created.type1.shader;
            
            string shaderName2 = reader.ReadString();

            while(true) {
                string type = reader.ReadString();
                if (type == "end") break;

                string propName = reader.ReadString();
                switch (type) {
                    case "tex":
                        string sub = reader.ReadString();
                        switch (sub) {
                        case "tex2d":
                            
                            var tex = new ACCTextureEx(propName);
                            tex.editname = reader.ReadString();
                            tex.txtpath  = reader.ReadString();
                            tex.texOffset = new Vector2(reader.ReadSingle(),
                                                        reader.ReadSingle());
                            tex.texScale  = new Vector2(reader.ReadSingle(),
                                                        reader.ReadSingle());                                
                            created.texDic[tex.propKey] = tex;
                            break;
                        case "null":
                            break;
                        case "texRT":
                            reader.ReadString();
                            reader.ReadString();
                            break;
                    }
                    break;
                case "col":
                case "vec":
                    var c = new Color(reader.ReadSingle(), reader.ReadSingle(),
                                      reader.ReadSingle(), reader.ReadSingle());
                    created.SetColor(propName, c);
                    break;
                case "f":
                    float f = reader.ReadSingle();
                    created.SetFloat(propName, f);
                    break;
                }
            }
            return created;           
        }