public void UpdateGUI(SimPe.Interfaces.Plugin.IFileWrapper wrapper) { Wrapper.Fami fami = (Wrapper.Fami)wrapper; form.wrapper = fami; form.tbname.Text = fami.Name; form.tbmoney.Text = fami.Money.ToString(); form.tbfamily.Text = fami.Friends.ToString(); form.tblotinst.Text = "0x" + Helper.HexString(fami.LotInstance); form.tbalbum.Text = "0x" + Helper.HexString(fami.AlbumGUID); form.tbflag.Text = "0x" + Helper.HexString(fami.Flags); form.tbsubhood.Text = "0x" + Helper.HexString(fami.SubHoodNumber); form.tbvac.Text = "0x" + Helper.HexString(fami.VacationLotInstance); form.tbblot.Text = "0x" + Helper.HexString(fami.CurrentlyOnLotInstance); form.tbbmoney.Text = fami.BusinessMoney.ToString(); form.lbmembers.Items.Clear(); form.tbcafood1.Text = fami.CastAwayFood.ToString(); form.tbcares.Text = fami.CastAwayResources.ToString(); form.tbcaunk.Text = "0x" + Helper.HexString(fami.CastAwayFoodDecay); form.tbcaunk.ReadOnly = !SimPe.Helper.WindowsRegistry.HiddenMode; form.tbbmoney.Enabled = (int)fami.Version >= (int)SimPe.PackedFiles.Wrapper.FamiVersions.Business; form.tbblot.Enabled = (int)fami.Version >= (int)SimPe.PackedFiles.Wrapper.FamiVersions.Business; form.tbvac.Enabled = (int)fami.Version >= (int)SimPe.PackedFiles.Wrapper.FamiVersions.Voyage; form.tbsubhood.Enabled = (int)fami.Version >= (int)SimPe.PackedFiles.Wrapper.FamiVersions.University; form.gbCastaway.Visible = (int)fami.Version >= (int)SimPe.PackedFiles.Wrapper.FamiVersions.Castaway; form.tbmoney.Enabled = (int)fami.Version < (int)SimPe.PackedFiles.Wrapper.FamiVersions.Castaway; form.tbbmoney.Enabled = (int)fami.Version < (int)SimPe.PackedFiles.Wrapper.FamiVersions.Castaway; string[] names = fami.SimNames; for (int i = 0; i < fami.Members.Length; i++) { Data.Alias a = new SimPe.Data.Alias(fami.Members[i], fami.SimNames[i]); form.lbmembers.Items.Add(a); } form.cbsims.Items.Clear(); form.cbsims.Sorted = false; foreach (IAlias a in fami.NameProvider.StoredData.Values) { form.cbsims.Items.Add(a); } form.cbsims.Sorted = true; }
/// <summary> /// Returns an ArrayLIst of Alias Object with all available Names for this Type /// </summary> /// <param name="wt">The Type of the Want</param> /// <returns>List of Alias Items</returns> public ArrayList GetNames(WantType wt) { ArrayList ret = new ArrayList(); Hashtable ht = (Hashtable)Map[wt]; if (ht != null) { foreach (uint t in ht.Keys) { Data.Alias a = new SimPe.Data.Alias(t, (string)ht[t], "{name}"); ret.Add(a); } } return(ret); }
/// <summary> /// Adds the currently Available SimNames to the Map /// </summary> /// <remarks>Feeds the IProviderRegistry set in the FileTable!</remarks> public void AddSimNames() { Hashtable ht = new Hashtable(); map[WantType.Sim] = ht; if (FileTable.ProviderRegistry == null) { return; } foreach (ushort inst in FileTable.ProviderRegistry.SimDescriptionProvider.SimInstance.Keys) { SimPe.Interfaces.Wrapper.ISDesc isdsc = FileTable.ProviderRegistry.SimDescriptionProvider.FindSim(inst); SimPe.PackedFiles.Wrapper.SDesc sdsc = (SimPe.PackedFiles.Wrapper.SDesc)isdsc; sdsc.SetProviders(FileTable.ProviderRegistry); Data.Alias a = new SimPe.Data.Alias(inst, sdsc.SimName + " " + sdsc.SimFamilyName + " (" + sdsc.HouseholdName + ")"); ht[(uint)inst] = a.Name; } }
/// <summary> /// Returns an Alias for the given Guid /// </summary> /// <param name="guid"></param> /// <returns></returns> public SimPe.Interfaces.IAlias FindObject(uint guid) { MemoryCacheItem mci = FindItem(guid); SimPe.Data.Alias a; if (mci == null) { a = new SimPe.Data.Alias(guid, Localization.Manager.GetString("Unknown")); } else { a = new SimPe.Data.Alias(guid, mci.Name); } object[] o = new object[3]; o[0] = mci.FileDescriptor; o[1] = mci.ObjectType; o[2] = mci.Icon; a.Tag = o; return(a); }
/// <summary> /// Constructor for the Class /// </summary> public NgbhUI() { //form = WrapperFactory.form; if (form == null) { form = new NgbhForm(); form.cbguid.Items.Clear(); form.cbguid.Sorted = false; form.cbguid.Items.Add(new Data.Alias(0, "-: " + Localization.Manager.GetString("Unknown"), "{name}")); Wait.Message = ("Load Memories from Cache"); foreach (MemoryCacheItem mci in ObjectCache.List) { Data.Alias a = new SimPe.Data.Alias(mci.Guid, mci.Name); object[] o = new object[3]; o[0] = mci.FileDescriptor; o[1] = mci.ObjectType; o[2] = mci.Icon; a.Tag = o; if (mci.ObjectType == Data.ObjectTypes.Memory) { form.cbguid.Items.Add(a); } else if (mci.ObjectType == Data.ObjectTypes.Normal) { if (mci.ObjdName.ToLower().IndexOf("token") != -1) { form.cbguid.Items.Add(a); } } } form.cbguid.Sorted = true; } }
public static TreeNode GetParentNode(TreeNodeCollection nodes, string[] names, int id, SimPe.Cache.ObjectCacheItem oci, SimPe.Data.Alias a, ImageList ilist) { TreeNode ret = null; if (id < names.Length) { string name = names[id]; //does the nodes list already contain a Node with this Name? foreach (TreeNode tn in nodes) { if (tn.Text.Trim().ToLower() == name.Trim().ToLower()) { ret = tn; if (id < names.Length - 1) { ret = GetParentNode(tn.Nodes, names, id + 1, oci, a, ilist); } if (ret == null) { ret = tn; } break; } } } //no Node with this Name found so far, create one if (ret == null) { if (id < names.Length) { ret = new TreeNode(names[id]); } else { ret = new TreeNode(SimPe.Localization.GetString("Unknown")); } nodes.Add(ret); ret.SelectedImageIndex = 0; ret.ImageIndex = 0; if (id < names.Length - 1) { ret = GetParentNode(ret.Nodes, names, id + 1, oci, a, ilist); } } if (id == 0) { TreeNode tn = new TreeNode(a.ToString()); tn.Tag = a; SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem fii = (SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem)oci.Tag; string flname = ""; if (fii.Package != null) { if (fii.Package.FileName != null) { flname = fii.Package.FileName.Trim().ToLower(); } } if (flname.StartsWith(PathProvider.SimSavegameFolder.Trim().ToLower())) { tn.ImageIndex = 2; } else if (oci.Thumbnail != null) { Image img = oci.Thumbnail; //if (Helper.WindowsRegistry.GraphQuality) img = Ambertation.Drawing.GraphicRoutines.KnockoutImage(img, new System.Drawing.Point(0,0), System.Drawing.Color.Magenta); img = Ambertation.Drawing.GraphicRoutines.ScaleImage(img, ilist.ImageSize.Width, ilist.ImageSize.Height, Helper.WindowsRegistry.GraphQuality); ilist.Images.Add(img); tn.ImageIndex = ilist.Images.Count - 1; } else { tn.ImageIndex = 1; } tn.SelectedImageIndex = tn.ImageIndex; ret.Nodes.Add(tn); } return(ret); }
private void ver1_LoadedItem(SimPe.Cache.ObjectCacheItem oci, SimPe.Interfaces.Scenegraph.IScenegraphFileIndexItem fii, SimPe.Data.Alias a) { if (LoadedItem != null) { LoadedItem(oci, fii, a); } }
/// <summary> /// Show the Relink Screen /// </summary> /// <param name="path">The Path where to look for character Files</param> /// <param name="wrp">The Sim Description Wrapper</param> /// <returns>The new SimID</returns> public static uint Execute(SimPe.PackedFiles.Wrapper.SDesc wrp) { Hashtable ht = wrp.nameprovider.StoredData; SimRelinkForm srf = new SimRelinkForm(); WaitingScreen.Wait(); try { foreach (SimPe.Data.Alias a in ht.Values) { ListViewItem lvi = new ListViewItem(a.Name + " " + (string)a.Tag[2]); lvi.Tag = a; if (a.Tag[1] != null) { lvi.ImageIndex = srf.ilist.Images.Count; Image img = SimPe.Plugin.ImageLoader.Preview((Image)a.Tag[1], srf.ilist.ImageSize); if (wrp.sdescprovider.FindSim(a.Id) != null) { Graphics gr = Graphics.FromImage(img); gr.FillRectangle(new Pen(Color.FromArgb(0x60, Color.Red), 1).Brush, 0, 0, img.Width, img.Height); } srf.ilist.Images.Add(img); } srf.lv.Items.Add(lvi); } srf.lv.Sort(); srf.btlink.Enabled = false; srf.ok = false; } finally { WaitingScreen.Stop(srf); } srf.ShowDialog(); if (srf.ok) { SimPe.Data.Alias a = (SimPe.Data.Alias)srf.lv.SelectedItems[0].Tag; SimPe.Packages.GeneratableFile pkg = SimPe.Packages.GeneratableFile.LoadFromFile((string)a.Tag[0]); Interfaces.Files.IPackedFileDescriptor[] pfds = pkg.FindFiles(Data.MetaData.OBJD_FILE); if (pfds.Length == 1) { SimPe.PackedFiles.Wrapper.Objd objd = new SimPe.PackedFiles.Wrapper.Objd(null); objd.ProcessData(pfds[0], pkg); if (srf.cbfile.Checked) { objd.Guid = wrp.SimId; objd.SynchronizeUserData(); pkg.Save(); } else { wrp.SimId = objd.Guid; } } } return(wrp.SimId); }