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); }
/// <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; } } }