Ejemplo n.º 1
0
        public void SetContents(string value, IPackage package)
        {
            TextResource.TextResource resource = ResourceHandlers.CreateResource(mEntry, mPackage) as TextResource.TextResource;

            resource.TextFileReader = new StringReader(value);

            mPackage.ReplaceResource(mEntry, resource);
        }
Ejemplo n.º 2
0
        public string GetContents(IPackage package)
        {
            TextResource.TextResource resource = ResourceHandlers.CreateResource(mEntry, mPackage) as TextResource.TextResource;

            StreamReader reader = resource.TextFileReader as StreamReader;

            reader.BaseStream.Position = 0;

            return(reader.ReadToEnd());
        }
Ejemplo n.º 3
0
        protected static Dictionary <ulong, STBLImporter.Lookup> ReadTable(string prefix, string instance, IPackage package, bool addOtherKeys)
        {
            instance = prefix + instance.Substring(4);

            Dictionary <ulong, STBLImporter.Lookup> lookup = new Dictionary <ulong, STBLImporter.Lookup>();

            IResourceIndexEntry entry = package.Find(key => ((key.ResourceType == (uint)ResourceType.STBL) && (key["Instance"] == instance)));

            if (entry != null)
            {
                StblResource.StblResource resource = ResourceHandlers.CreateResource(entry, package) as StblResource.StblResource;

                foreach (KeyValuePair <ulong, string> element in resource)
                {
                    bool space = false;

                    string keyValue = element.Value;
                    if (prefix == "0x17")
                    {
                        if (keyValue.StartsWith("PackerSpace|"))
                        {
                            keyValue = keyValue.Replace("PackerSpace|", "");
                            space    = true;
                        }
                    }

                    if (!lookup.ContainsKey(element.Key))
                    {
                        STBLImporter.Lookup recent = new STBLImporter.Lookup(keyValue, keyValue, space);
                        lookup.Add(element.Key, recent);
                    }

                    if ((addOtherKeys) && (!HasSuffix(keyValue)))
                    {
                        foreach (string suffix in sSuffixes)
                        {
                            string value = keyValue + suffix;

                            ulong key = FNV64.GetHash(value);

                            if (lookup.ContainsKey(key))
                            {
                                continue;
                            }

                            STBLImporter.Lookup recent = new STBLImporter.Lookup(value, value, space);
                            lookup.Add(key, recent);
                        }
                    }
                }
            }

            return(lookup);
        }
Ejemplo n.º 4
0
        public bool AddNew(ulong instance, IPackage package, bool autoSet)
        {
            mPackage = package;

            string filename = GetFilename(autoSet, true);

            if (string.IsNullOrEmpty(filename))
            {
                return(false);
            }

            string name = CreateInstance(filename, ref instance);

            if (instance == 0)
            {
                return(false);
            }

            Set(mPackage.AddResource(new AResource.TGIBlock(0, null, (uint)Type, 0, instance), null, false), mPackage);
            if (mEntry == null)
            {
                return(false);
            }

            if (File.Exists(filename))
            {
                Filename = filename;
            }
            else
            {
                mPackage.ReplaceResource(mEntry, ResourceHandlers.CreateResource(mEntry, mPackage));
            }

            Name = name;

            return(true);
        }
Ejemplo n.º 5
0
        protected override void Set(IResourceIndexEntry entry, IPackage package)
        {
            base.Set(entry, package);

            mResource = ResourceHandlers.CreateResource(entry, package) as ScriptResource.ScriptResource;
        }