コード例 #1
0
ファイル: Package.cs プロジェクト: dd-dk/sims3tools
 public static Package Open(string path)
 {
     Package p = new Package();
     p._package = s3pi.Package.Package.OpenPackage(0, path, true);
     p._filename = path;
     return p;
 }
コード例 #2
0
ファイル: NameMap.cs プロジェクト: dd-dk/sims3tools
        public static NameMap Load(Package _package)
        {
            NameMap nm = new NameMap();

            nm.resource = _package.FindResource(MatchNMAPResourceType);
            nm._package = _package;

            return nm.resource.IResource == null ? null : nm;
        }
コード例 #3
0
ファイル: NameMap.cs プロジェクト: dd-dk/sims3tools
        public static NameMap New(Package _package, ulong? iid = null)
        {
            NameMap nm = new NameMap();

            nm.resource = _package.NewResource(NMAPResourceType, 0, iid.HasValue ? iid.Value : Package.NewInstance());
            nm._package = _package;

            return nm;
        }
コード例 #4
0
ファイル: StringTableSet.cs プロジェクト: dd-dk/sims3tools
        public static List<ulong> FindAll(Package package)
        {
            List<ulong> seen = new List<ulong>();

            foreach (var rie in package.FindAll(x => x.ResourceType == StringTable.STBLResourceType))
            {
                ulong iid = rie.Instance & 0x00FFFFFFFFFFFFFF;
                if (!seen.Contains(iid))
                    seen.Add(iid);
            }

            return seen;
        }
コード例 #5
0
ファイル: StringTableSet.cs プロジェクト: dd-dk/sims3tools
        public static StringTableSet Load(Package package, ulong iid)
        {
            if ((iid >> 56) != 0)
                throw new ArgumentException("Instance ID must not contain language to load StringTableSet");

            StringTableSet sts = new StringTableSet(package, iid);
            
            foreach (Language l in Enum.GetValues(typeof(Language)))
            {
                StringTable stl = StringTable.Load(package, l, iid);

                if (stl != null)
                {
                    stl.ResourceChanged += new EventHandler(sts.OnResourceChanged);
                    sts.Add(l, stl);
                }
            }

            return sts;
        }
コード例 #6
0
ファイル: StringTableSet.cs プロジェクト: dd-dk/sims3tools
        public static StringTableSet New(Package package)
        {
            StringTableSet sts = new StringTableSet(package, Package.NewInstance() >> 8);

            return sts;
        }
コード例 #7
0
ファイル: StringTableSet.cs プロジェクト: dd-dk/sims3tools
 private StringTableSet(Package package, ulong iid) { _iid = iid; _package = package; }
コード例 #8
0
ファイル: Package.cs プロジェクト: dd-dk/sims3tools
 public static Package New()
 {
     Package p = new Package();
     p._package = s3pi.Package.Package.NewPackage(0);
     return p;
 }