public AdminSelectModify(StandardHeldPrompt previous, Client client, IModifiable target) : base(previous, null, client)
        {
            objectToModify = target;
            Metadata meta = Metadata.LoadedClasses[target.GetType()];

            ModifiableParser[] parsers = meta.GetModifyParsers();
            string             quit    = "Quit";

            foreach (ModifiableParser parser in parsers)
            {
                string parserName = parser.Name(target);
                if (parserName.Equals(quit, StringComparison.InvariantCultureIgnoreCase))
                {
                    parserName = "Field" + parserName;
                }
                AddOption(parser.Description(target), ModifyField, parser, parserName);
            }
            AddOption("Finished editing this object.", EndThisPromptOption, null, quit);
        }
Example #2
0
        /// <summary>
        /// cmbVehicleType_SelectedIndexChanged method
        /// </summary>
        /// <remarks>
        /// Method that is called everytime when the user choose different type of vehicle.
        /// It's finding all objects of the selected type and put them in dropdown menu.
        /// </remarks>
        /// <param name="sender">A reference to the control/object that raised the event.</param>
        /// <param name="e">The event data.</param>
        private void cmbVehicleType_SelectedIndexChanged(object sender, EventArgs e)
        {
            Debug.WriteLine("Selected vehicle is: " + Convert.ToString(cmbVehicleType.Text)); // check the selected item        
            cmbVehicleModel.Items.Clear(); //clear the second combobox
            lblModel.Visible = true;
            cmbVehicleModel.Visible = true;

            for (int i = 0; i < modlist.ListSize(); i++)        //get each object in that list
            {
                imb = modlist.GetObjectFromList(i); 
                string strSelectedType = Convert.ToString(imb.GetType());  // the type of the returned object

                if (strSelectedType == "VehicleTuning." + cmbVehicleType.Text) //check if the returned object is from the same type as the selected one
                { 
                    cmbVehicleModel.Items.Add(imb.Model.ToString());
                    iSelectedObject = i;
                }
            }
        }