public static AddSpawnEntityForm ShowDialogue(Window window, SpawnPoint _spawnPoint, CloseEvent closeFunction = null, string category = null, ISkinFile file = null) { var form = new AddSpawnEntityForm(); form.Initialize(_spawnPoint, closeFunction, "Add Entity to Spawn", true, true, category, file); form.Show(window); return(form); }
public override void AddedToContainer() { base.AddedToContainer(); var builder = new FieldBuilder(); builder.BuildSessionStart(this); var nameField = builder.AddTextField("Name: "); nameField.Text = spawnPoint.Name; var posX = builder.AddDoubleField("Position X: "); posX.Value = spawnPoint.SpawnArea.X; var posY = builder.AddDoubleField("Position Y: "); posY.Value = spawnPoint.SpawnArea.Y; var width = builder.AddIntegerField("Width: "); width.Value = spawnPoint.SpawnArea.Width; var height = builder.AddIntegerField("Height: "); height.Value = spawnPoint.SpawnArea.Height; var timeInterval = builder.AddDoubleField("Time Interval: "); timeInterval.Value = spawnPoint.TimeInterval; reloadValues = delegate() { nameField.Text = spawnPoint.Name; posX.Value = spawnPoint.SpawnArea.X; posY.Value = spawnPoint.SpawnArea.Y; width.Value = spawnPoint.SpawnArea.Width; height.Value = spawnPoint.SpawnArea.Height; timeInterval.Value = spawnPoint.TimeInterval; }; reloadValues(); Action setValues = delegate() { spawnPoint.Name = nameField.Text; spawnPoint.SpawnArea.X = (int)posX.Value; spawnPoint.SpawnArea.Y = (int)posY.Value; spawnPoint.SpawnArea.Width = (int)width.Value; spawnPoint.SpawnArea.Height = (int)height.Value; spawnPoint.SetTimeInterval(timeInterval.Value); }; builder.AddVerticalMargin(5); builder.AddResizableButtonField("Set Spawn-Area with mouse", delegate(object sender) { setValues(); Parent.DialoguesAreHidden = true; Globals.Editor.Mode = Editor.Modes.SetPeremiter; Globals.Editor.Set_SendPeremiterFunction(sendPeremiter); }, FieldBuilder.ResizableButtonOrientation.FillWidth); builder.AlignTop = true; builder.AlignBottom = true; spawnEntitiesList = builder.AddColumnListBox("Spawn-entities", 300, 2); spawnEntitiesList.SetIntOrStringSort(false, true); spawnEntitiesList.SetColumnName(0, "Entity-Type"); spawnEntitiesList.SetColumnName(1, "Amount"); builder.AlignTop = false; builder.AlignBottom = true; builder.AddResizableButtonField("Add Entity", delegate(object sender) { AddSpawnEntityForm.ShowDialogue(Parent, spawnPoint, delegate(object _sender) { reloadList(); }); }, FieldBuilder.ResizableButtonOrientation.Right); builder.AddResizableButtonField("Remove Entity", delegate(object sender) { if (spawnEntitiesList.SelectedRowIndex == -1) { return; } spawnPoint.SpawnClones.Remove((IEntity)spawnEntitiesList.Values[spawnEntitiesList.SelectedRowIndex].ExtraValues[0]); reloadValues(); }, FieldBuilder.ResizableButtonOrientation.Right); builder.AddResizableButtonField("OK", delegate(object sender) { setValues(); Close(); }, FieldBuilder.ResizableButtonOrientation.Right); builder.BuildSessionEnd(); X = (Parent.Width / 2) - (Width / 2); Y = (Parent.Height / 2) - (Height / 2); CanResizeFormVertically = false; }