public void ChangeActiveObject(ObjectRegistryEntry obj) { ActiveObjTable = obj; var objd = GameContent.Get.WorldObjects.Get(obj.GUID); if (objd == null) { return; } SetTargetObject(objd); }
private void ObjectTree_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { var node = ObjectTree.SelectedNode; if (node == null) { ObjNameLabel.Text = "No Object Selected."; ObjDescLabel.Text = ""; ObjMultitileLabel.Text = ""; SelectedFile = null; SelectedObj = null; } ObjectRegistryEntry entry = null; SourceNodeToEnt.TryGetValue(node, out entry); if (entry == null) { //chose a filename ObjNameLabel.Text = node.Text + ".iff"; ObjDescLabel.Text = "Object File"; ObjMultitileLabel.Text = "Contains " + ObjectRegistry.MastersByFilename[node.Text].Count + " master objects."; SelectedFile = node.Text; SelectedObj = null; ObjThumbnail.ShowObject(0); } else { ObjNameLabel.Text = entry.Name; SelectedFile = entry.Filename; SelectedObj = entry; ObjThumbnail.ShowObject(entry.GUID); ObjDescLabel.Text = "§----"; if (entry.Group == 0) { ObjMultitileLabel.Text = "Single-tile object."; } else if (entry.SubIndex < 0) { ObjMultitileLabel.Text = "Multitile master object."; } else { ObjMultitileLabel.Text = "Multitile part. (" + (entry.SubIndex >> 8) + ", " + (entry.SubIndex & 0xFF) + ")"; } } if (SelectedChanged != null) { SelectedChanged(); } }
public bool RegenObjMeta(GameIffResource res) { var objd = res.List <OBJD>(); var entries = new List <ObjectRegistryEntry>(); foreach (var obj in objd) { var entry = new ObjectRegistryEntry { GUID = obj.GUID, Filename = res.MainIff.Filename, Name = obj.ChunkLabel, Group = (short)obj.MasterID, SubIndex = obj.SubIndex }; entries.Add(entry); } if (entries.Count == 0) { return(false); } entries = entries.OrderBy(x => x.SubIndex).OrderBy(x => x.Group).ToList(); var GUID = (ActiveObj == null) ? 0 : ActiveObj.OBJ.GUID; //populate object selected box with options ObjCombo.Items.Clear(); int i = 0; foreach (var item in entries) { ObjCombo.Items.Add(item); if (item.GUID == GUID) { ObjCombo.SelectedIndex = i; } i++; } if (ObjCombo.SelectedIndex == -1) { ObjCombo.SelectedIndex = 0; } Text = "Edit Object - " + ActiveObjTable.Filename; return(true); }
public void ChangeActiveObject(ObjectRegistryEntry obj) { ActiveObjTable = obj; SetTargetObject(Content.Content.Get().WorldObjects.Get(obj.GUID)); }