Пример #1
0
 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);
         }
     }
 }
Пример #2
0
        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();
        }
Пример #3
0
        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++;
                }
            }
        }