void ReleaseDesignerOutlets() { if (AreaButton != null) { AreaButton.Dispose(); AreaButton = null; } if (BackgroundView != null) { BackgroundView.Dispose(); BackgroundView = null; } if (CastingTimeButton != null) { CastingTimeButton.Dispose(); CastingTimeButton = null; } if (DescriptionButton != null) { DescriptionButton.Dispose(); DescriptionButton = null; } if (DescriptorButton != null) { DescriptorButton.Dispose(); DescriptorButton = null; } if (DismissableButton != null) { DismissableButton.Dispose(); DismissableButton = null; } if (DivineFocusButton != null) { DivineFocusButton.Dispose(); DivineFocusButton = null; } if (DurationButton != null) { DurationButton.Dispose(); DurationButton = null; } if (FocusButton != null) { FocusButton.Dispose(); FocusButton = null; } if (FocusTextButton != null) { FocusTextButton.Dispose(); FocusTextButton = null; } if (LevelsButton != null) { LevelsButton.Dispose(); LevelsButton = null; } if (MaterialButton != null) { MaterialButton.Dispose(); MaterialButton = null; } if (MaterialTextButton != null) { MaterialTextButton.Dispose(); MaterialTextButton = null; } if (NameButton != null) { NameButton.Dispose(); NameButton = null; } if (RangeButton != null) { RangeButton.Dispose(); RangeButton = null; } if (SavingThrowButton != null) { SavingThrowButton.Dispose(); SavingThrowButton = null; } if (SchoolButton != null) { SchoolButton.Dispose(); SchoolButton = null; } if (SomaticButton != null) { SomaticButton.Dispose(); SomaticButton = null; } if (SpellResistanceButton != null) { SpellResistanceButton.Dispose(); SpellResistanceButton = null; } if (SubschoolButton != null) { SubschoolButton.Dispose(); SubschoolButton = null; } if (TargetsButton != null) { TargetsButton.Dispose(); TargetsButton = null; } if (VerbalButton != null) { VerbalButton.Dispose(); VerbalButton = null; } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.SpellEditor); OKButton.Click += OKButton_Click; CancelButton.Click += CancelButton_Click; NameText.AttachEditTextString(spell, "Name"); MaterialText.AttachEditTextString(spell.Adjuster, "MaterialText"); FocusText.AttachEditTextString(spell.Adjuster, "FocusText"); DescriptionText.AttachEditTextString(spell, "description"); DismissibleCheckbox.AttachBool(spell.Adjuster, "Dismissible"); VerbalCheckbox.AttachBool(spell.Adjuster, "Verbal"); SomaticCheckbox.AttachBool(spell.Adjuster, "Somatic"); FocusCheckbox.AttachBool(spell.Adjuster, "Focus"); DivineFocusCheckbox.AttachBool(spell.Adjuster, "DivineFocus"); SchoolButton.AttachButtonStringList(spell, "school", Spell.Schools); SubschoolButton.AttachTextCombo(spell, "subschool", Spell.Subschools); DescriptorButton.AttachTextCombo(spell, "descriptor", Spell.Descriptors); CastingTimeButton.AttachTextCombo(spell, "casting_time", Spell.CastingTimeOptions); RangeButton.AttachTextCombo(spell, "range", Spell.RangeOptions); AreaButton.AttachTextCombo(spell, "area", Spell.AreaOptions); TargetsButton.AttachTextCombo(spell, "targets", Spell.TargetsOptions); DurationButton.AttachTextCombo(spell, "duration", Spell.DurationOptions); SavingThrowButton.AttachTextCombo(spell, "saving_throw", Spell.SavingThrowOptions); SpellResistanceButton.AttachTextCombo(spell, "spell_resistence", Spell.SpellResistanceOptions); SpellLevelListView.Adapter = new SpellLevelAdapter(this, SpellLevelListView.Context); AddSpellLevelButton.Click += (sender, e) => { var avList = from className in Spell.SpellAdjuster.Classes.Values where !spell.Adjuster.ContainsClass(className) select className; List <string> availableLevels = new List <string>(); availableLevels.AddRange(avList); availableLevels.Sort(); UIUtils.ShowListPopover(AddSpellLevelButton, "Class", availableLevels, (item) => { String newClass = availableLevels[item]; var lai = new Spell.SpellAdjuster.LevelAdjusterInfo() { Class = newClass, Level = 1 }; spell.Adjuster.Levels.Add(lai); SpellLevelListView.Adapter = new SpellLevelAdapter(this, SpellLevelListView.Context); }); }; spell.PropertyChanged += (sender, e) => { UpdateOK(); }; spell.Adjuster.PropertyChanged += (sender, e) => { UpdateOK(); }; UpdateOK(); }