public void UpdateTele() { telelist.Clear(); foreach (Map.Object key in mapRenderer.Map.Objects) { if (ThingDb.Things[key.Name].Xfer == "TransporterXfer" && key.Extent != -2) { TransporterXfer extraData = key.GetExtraData <TransporterXfer>(); if (!telelist.ContainsKey(key)) { telelist.Add(key, extraData.ExtentLink); } } else if ((ThingDb.Things[key.Name].Xfer == "ElevatorXfer" || ThingDb.Things[key.Name].Xfer == "ElevatorShaftXfer") && key.Extent != -2) { ElevatorXfer extraData = key.GetExtraData <ElevatorXfer>(); telelist.Add(key, extraData.ExtentLink); } else if (ThingDb.Things[key.Name].Xfer == "HoleXfer" && key.Extent != -2) { key.GetExtraData <HoleXfer>(); telelist.Add(key, -1); } } }
void ButtonOKClick(object sender, EventArgs e) { TransporterXfer xfer = obj.GetExtraData <TransporterXfer>(); xfer.ExtentLink = 0; // куда телепортер подключен if (checkIsLinked.Checked && transpSelect.SelectedIndex >= 0) { xfer.ExtentLink = listTeleporters[transpSelect.SelectedIndex].Extent; } DialogResult = DialogResult.OK; Close(); }
public override void SetObject(Map.Object obj) { this.obj = obj; ThingDb.Thing tt = ThingDb.Things[obj.Name]; TransporterXfer xfer = obj.GetExtraData <TransporterXfer>(); transpSelect.Items.Clear(); // из списка добавляем в gui string name; foreach (Map.Object e in listTeleporters) { name = e.ToString(); if (e.Scr_Name.Length > 0) { name = '"' + e.ScrNameShort + '"'; } transpSelect.Items.Add(name); } // с каким телепортером связан if (xfer.ExtentLink > 0) { checkIsLinked.Checked = true; int index = 0; foreach (Map.Object o in listTeleporters) { if (o.Extent == xfer.ExtentLink) { transpSelect.SelectedIndex = index; break; } index++; } } }