private void ContextMenuEventHandler(object sender, EventArgs e)
{
ToolStripMenuItem item = (ToolStripMenuItem)sender;
if (item.Name == MENU_ITEM_DELETE)
{
if (Factory.GUIController.ShowQuestion("Are you sure you want to delete this object?") == DialogResult.Yes)
{
_room.Objects.Remove(_selectedObject);
foreach (RoomObject obj in _room.Objects)
{
if (obj.ID >= _selectedObject.ID)
{
obj.ID--;
}
}
_selectedObject = null;
Factory.GUIController.SetPropertyGridObject(_room);
SetPropertyGridList();
_room.Modified = true;
_panel.Invalidate();
}
}
else if (item.Name == MENU_ITEM_NEW)
{
if (_room.Objects.Count >= Room.MAX_OBJECTS)
{
Factory.GUIController.ShowMessage("This room already has the maximum " + Room.MAX_OBJECTS + " objects.", MessageBoxIcon.Information);
return;
}
RoomObject newObj = new RoomObject(_room);
newObj.ID = _room.Objects.Count;
newObj.StartX = SetObjectCoordinate(_menuClickX);
newObj.StartY = SetObjectCoordinate(_menuClickY);
_room.Objects.Add(newObj);
_selectedObject = newObj;
SetPropertyGridList();
Factory.GUIController.SetPropertyGridObject(newObj);
_room.Modified = true;
_panel.Invalidate();
}
else if (item.Name == MENU_ITEM_OBJECT_COORDS)
{
int tempx = _selectedObject.StartX;
int tempy = _selectedObject.StartY;
if ((Factory.AGSEditor.CurrentGame.Settings.UseLowResCoordinatesInScript) &&
(_room.Resolution == RoomResolution.HighRes))
{
tempx = tempx / 2;
tempy = tempy / 2;
}
string textToCopy = tempx.ToString() + ", " + tempy.ToString();
Utilities.CopyTextToClipboard(textToCopy);
}
}