public NgbhItem Clone(Ngbh parent, NgbhSlotList parentslot) { NgbhItem ret = new NgbhItem(parentslot); ret.guid = this.guid; ret.data = this.data.Clone() as ushort[]; ret.flags = this.flags; ret.flags2 = this.flags2; ret.parent = parent; ret.invnr = this.invnr; return(ret); }
internal NgbhItem(NgbhSlotList parentslot, SimMemoryType type) { this.parentslot = parentslot; this.parent = parentslot.Parent; data = new ushort[0]; flags = new NgbhItemFlags(); objd = null; if (type == SimMemoryType.Aspiration || type == SimMemoryType.Skill || type == SimMemoryType.ValueToken || type == SimMemoryType.Badge) { Flags.IsVisible = false; Flags.IsControler = true; data = new ushort[2]; } else if (type == SimMemoryType.Token) { Flags.IsVisible = false; Flags.IsControler = true; } else if (type == SimMemoryType.Object) { Flags.IsVisible = false; Flags.IsControler = true; data = new ushort[3]; } else if (type == SimMemoryType.Gossip || type == SimMemoryType.Memory) { PutValue(0x01, 0x07CD); PutValue(0x02, 0x0006); PutValue(0x0B, 0); Flags.IsVisible = true; Flags.IsControler = false; if (type == SimMemoryType.Gossip) { this.SimInstance = 1; } } else if (type == SimMemoryType.GossipInventory || type == SimMemoryType.Inventory) { Flags.IsVisible = true; Flags.IsControler = true; if (type == SimMemoryType.GossipInventory) { data = new ushort[8]; PutValue(0x01, 0x0); } this.InventoryNumber = this.ParentSlot.GetNextInventoryNumber(); } //SetGuidForType(type); }
void SetAvailableAddTypes() { string prefix = typeof(SimMemoryType).Namespace + "." + typeof(SimMemoryType).Name + "."; SimMemoryType[] sts = Ngbh.AllowedMemoryTypes(st); foreach (SimMemoryType mst in sts) { cbadd.Items.Add(new Data.Alias((uint)mst, SimPe.Localization.GetString(prefix + mst.ToString()), "{name}")); } if (cbadd.Items.Count > 0) { cbadd.SelectedIndex = 0; } }
public NgbhSlotList(Ngbh parent) { if (parent != null) { this.Version = parent.Version; } else { this.Version = NgbhVersion.University; } this.parent = parent; itemsa = new SimPe.Plugin.Collections.NgbhItems(this); itemsb = new SimPe.Plugin.Collections.NgbhItems(this); }
protected void LoadMemoryResource(SDesc sim) { if (sim != null && pkg == sim.Package) { return; } if (sim != null) { pkg = sim.Package; } else { pkg = null; } ngbh = null; if (sim == null) { return; } if (sim.Package == null) { return; } if (!SimPe.Helper.WindowsRegistry.AllowChangeOfSecondaryAspiration) { return; } SimPe.Interfaces.Plugin.IFileWrapper wrapper = (SimPe.Interfaces.Plugin.IFileWrapper)FileTable.WrapperRegistry.FindHandler(SimPe.Data.MetaData.MEMORIES); if (wrapper == null) { return; } SimPe.Interfaces.Files.IPackedFileDescriptor[] mems = sim.Package.FindFiles(SimPe.Data.MetaData.MEMORIES); foreach (SimPe.Interfaces.Files.IPackedFileDescriptor pfd in mems) { ngbh = new Ngbh(SimPe.FileTable.ProviderRegistry); ngbh.ProcessData(pfd, pkg, false); return; } }
/// <summary> /// Is called by SimPe (through the Wrapper) when the Panel is going to be displayed, so /// you should updatet the Data displayed by the Panel with the Attributes stored in the /// passed Wrapper. /// </summary> /// <param name="wrapper">The Attributes of this Wrapper have to be displayed</param> public void UpdateGUI(IFileWrapper wrapper) { form.wrapper = (IFileWrapperSaveExtension)wrapper; Ngbh wrp = (Ngbh)wrapper; form.lv.BeginUpdate(); form.lv.Items.Clear(); form.ilist.Images.Clear(); form.cbsub.Items.Clear(); form.cbown.Items.Clear(); form.gbmem.Enabled = false; form.lbmem.Items.Clear(); Interfaces.Files.IPackedFileDescriptor[] pfds = wrp.Package.FindFiles(Data.MetaData.SIM_DESCRIPTION_FILE); form.cbsub.Items.Add(new Data.Alias(0, "---", "{name}")); form.cbsub.Sorted = false; form.cbown.Items.Add(new Data.Alias(0, "---", "{name}")); form.cbown.Sorted = false; foreach (Interfaces.Files.IPackedFileDescriptor spfd in pfds) { PackedFiles.Wrapper.SDesc sdesc = new SimPe.PackedFiles.Wrapper.SDesc(wrp.Provider.SimNameProvider, wrp.Provider.SimFamilynameProvider, null); Wait.SubStart(); sdesc.ProcessData(spfd, wrp.Package); ListViewItem lvi = new ListViewItem(); lvi.Text = sdesc.SimName + " " + sdesc.SimFamilyName; #if DEBUG Data.Alias a = new Data.Alias(sdesc.SimId, lvi.Text); lvi.Text += " (0x" + Helper.HexString(sdesc.Instance) + ")"; #else Data.Alias a = new Data.Alias(sdesc.SimId, lvi.Text, "{name}"); #endif lvi.Tag = sdesc; a.Tag = new object[1]; a.Tag[0] = sdesc.Instance; form.cbsub.Items.Add(a); form.cbown.Items.Add(a); if (sdesc.HasImage) { /*if (sdesc.Unlinked!=0x00) * { * Image img = (Image)sdesc.Image.Clone(); * System.Drawing.Graphics g = Graphics.FromImage(img); * g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; * g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; * * Pen pen = new Pen(Color.FromArgb(0xD0, Color.DarkGreen), 3); * * g.FillRectangle(pen.Brush, 0, 0, img.Width, img.Height); * * form.ilist.Images.Add(img); * } */ if ((sdesc.Unlinked != 0x00) || (!sdesc.AvailableCharacterData)) { Image img = (Image)sdesc.Image.Clone(); System.Drawing.Graphics g = Graphics.FromImage(img); g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; Pen pen = new Pen(Data.MetaData.SpecialSimColor, 3); g.FillRectangle(pen.Brush, 0, 0, img.Width, img.Height); int pos = 2; if (sdesc.Unlinked != 0x00) { g.FillRectangle(new Pen(Data.MetaData.UnlinkedSim, 1).Brush, pos, 2, 25, 25); pos += 28; } if (!sdesc.AvailableCharacterData) { g.FillRectangle(new Pen(Data.MetaData.InactiveSim, 1).Brush, pos, 2, 25, 25); pos += 28; } form.ilist.Images.Add(img); } else { form.ilist.Images.Add(sdesc.Image); } lvi.ImageIndex = form.ilist.Images.Count - 1; } form.lv.Items.Add(lvi); } form.cbsub.Sorted = true; form.cbown.Sorted = true; form.lv.Sort(); form.lv.EndUpdate(); Wait.SubStop(); }
internal NgbhSlot(Ngbh parent, Data.NeighborhoodSlots type) : base(parent) { this.type = type; }