public void CommandEdit(object param) { if (!ObjectExists(param)) { return; } Guid uid = (Guid)param; ObjectPool objPool = Editor.Project.ObjectPoolManager.PoolFromItemKey(uid); ObjectClass objClass = objPool.GetObject(uid); using (ImportObject form = new ImportObject(objClass)) { foreach (ObjectClass obj in objPool.Objects) { if (obj.Name != objClass.Name) { form.ReservedNames.Add(obj.Name); } } if (form.ShowDialog() == DialogResult.OK) { using (objClass.BeginModify()) { if (form.SourceImage != null) { objClass.Image = form.SourceImage; } objClass.TrySetName(form.ObjectName); objClass.MaskBounds = new Rectangle(form.MaskLeft ?? 0, form.MaskTop ?? 0, (form.MaskRight ?? 0) - (form.MaskLeft ?? 0), (form.MaskBottom ?? 0) - (form.MaskTop ?? 0)); objClass.Origin = new Point(form.OriginX ?? 0, form.OriginY ?? 0); } } } }