Esempio n. 1
0
        private void PopulateTurretTrees(LevelDescription desc)
        {
            AvailTurretModel.Clear();
            AllowedTurretModel.Clear();

            List <Turret> AvailTurrets = LevelManager.GetTurrets();

            for (int i = 0; i < desc.AllowedTurrets.Count; i++)
            {
                for (int j = 0; j < AvailTurrets.Count; j++)
                {
                    if (AvailTurrets[j].Name == desc.AllowedTurrets[i])
                    {
                        AvailTurrets.Remove(AvailTurrets[j]);
                    }
                }

                object[] values = { i, desc.AllowedTurrets[i] };
                AllowedTurretModel.AppendValues(values);
            }


            for (int j = 0; j < AvailTurrets.Count; j++)
            {
                object[] values = { j, AvailTurrets[j].Name };
                AvailTurretModel.AppendValues(values);
            }
        }
Esempio n. 2
0
        private void PopulateTurretTrees(LevelDescription desc)
        {
            AllowedTurretModel.Clear();

            List <Turret> AvailTurrets = LevelManager.GetTurrets();

            for (int i = 0; i < desc.AllowedTurrets.Count; i++)
            {
                object[] values = { i, desc.AllowedTurrets[i] };
                AllowedTurretModel.AppendValues(values);
            }
        }
Esempio n. 3
0
        private void AddAllTurrets_Clicked(object sender, EventArgs e)
        {
            LevelDesc.AllowedTurrets.RemoveRange(0, LevelDesc.AllowedTurrets.Count);
            List <Turret> AvailTurrets = LevelManager.GetTurrets();

            for (int i = 0; i < AvailTurrets.Count; i++)
            {
                LevelDesc.AllowedTurrets.Add(AvailTurrets[i].Name);
            }
            PopulateTurretTrees(LevelDesc);
            WriteChanges();
        }
Esempio n. 4
0
        private void PopulateTreeWithTurrets()
        {
            string   previousValue = "";
            bool     foundPrevious = false;
            TreeIter selected;

            if (tree.Selection.GetSelected(out selected))
            {
                previousValue = (string)ListModel.GetValue(selected, 0);
            }

            List <Turret> items = LevelManager.GetTurrets();

            ListModel.Clear();

            if (null != items)
            {
                for (int i = 0; i < items.Count; i++)
                {
                    TreeIter itr = ListModel.AppendValues(items[i].Name);
                    if (previousValue == items[i].Name)
                    {
                        foundPrevious = true;
                        selected      = itr;
                    }
                }
            }

            if (!foundPrevious)
            {
                // If not, here's the default
                ListModel.GetIterFirst(out selected);
            }

            tree.Selection.SelectIter(selected);
        }
Esempio n. 5
0
        public void SetTurret(string selectedStr)
        {
            GtkHelpers.FlushAllDeferredEvents();

            Destroyed += TurretEditLayout_Destroyed;

            if (null != Layout)
            {
                Layout.Hide();
                Layout.Destroy();
                Layout        = null;
                FireRateField = null;
                DPSfield      = null;
            }

            Turrets = LevelManager.GetTurrets();
            for (int i = 0; i < Turrets.Count; i++)
            {
                if (Turrets[i].Name == selectedStr)
                {
                    Turret = Turrets[i];
                }
            }

            Layout = new VBox(false, 0);
            AddWithViewport(Layout);

            HBox field = GtkHelpers.TextEntryField("Turret Name", Turret.Name, Name_Changed, true);

            Layout.PackStart(field, false, false, 0);
            field.Show();

            field = GtkHelpers.TextEntryField("Asset", Turret.Asset, Asset_Changed, true);
            Layout.PackStart(field, false, false, 0);
            field.Show();


            FireRateField = GtkHelpers.TextEntryField("Fire Rate", Turret.FireRate.ToString(), FireRate_Changed, true, GtkHelpers.ValueType.Float);
            Layout.PackStart(FireRateField, false, false, 0);
            FireRateField.Show();


            field = GtkHelpers.TextEntryField("Range", Turret.Range.ToString(), Range_Changed, true, GtkHelpers.ValueType.Float);
            Layout.PackStart(field, false, false, 0);
            field.Show();


            field = GtkHelpers.TextEntryField("Cost", Turret.Cost.ToString(), Cost_Changed, true, GtkHelpers.ValueType.Float);
            Layout.PackStart(field, false, false, 0);
            field.Show();


            List <Projectile> projectiles = LevelManager.GetProjectiles();

            ProjectileNames = new List <string>();
            int currIndex = 0;

            for (int i = 0; i < projectiles.Count; i++)
            {
                ProjectileNames.Add(projectiles[i].Name);
                if (projectiles[i].Name == Turret.Projectile)
                {
                    currIndex = i;
                }
            }

            field = GtkHelpers.ComboBox("Projectile", ProjectileNames.ToArray(), currIndex, Projectile_Changed, true);
            Layout.PackStart(field, false, false, 0);
            field.Show();

            DPSfield = GtkHelpers.TextEntryField("Damage per Sec", Turret.Cost.ToString(), DPS_Changed, true, GtkHelpers.ValueType.Float);
            Layout.PackStart(DPSfield, false, false, 0);
            DPSfield.Show();

            RecalculateDPS();

            Show();
            ShowAll();
        }