private void lstPlayers_SelectionChanged(MySelectableListItem lastSelected, MySelectableListItem newSelected) { if (lastSelected != newSelected) { if (lastSelected != null) { object[] data = lastSelected.CustomData as object[]; Label lbl = data[1] as Label; lbl.Background = Brushes.Transparent; lbl.InvalidateVisual(); } if (newSelected != null) { object[] data = newSelected.CustomData as object[]; Label lbl = data[1] as Label; lbl.Background = selected; lbl.InvalidateVisual(); PlayerDef pd = data[0] as PlayerDef; using (var d = lstTriggers.Dispatcher.DisableProcessing()) { lstTriggers.Clear(); List <UIElement> items = new List <UIElement>(); List <Trigger> trigs = Triggers.TriggerData[pd]; foreach (Trigger trig in trigs) { InsertTriggerIntoTheVisualList(trig); } } } } }
private void updateValuesFromTrigger() { // Setup affecteds foreach (CheckBox cb in playersChecks) { cb.IsChecked = false; } foreach (PlayerDef affected in myTrigga.getAffectedPlayers()) { playersChecks[affected.getIndex()].IsChecked = true; } // Setup conditions lstCond.Clear(); foreach (Condition cond in myTrigga.Conditions) { addVisualCondition(cond); } // Setup actions lstAct.Clear(); foreach (Action action in myTrigga.Actions) { addVisualAction(action); } }
private void updateLists() { lstPlayers.Clear(); List <MySelectableListItem> pls = new List <MySelectableListItem>(); foreach (KeyValuePair <PlayerDef, List <Trigger> > subList in Triggers.TriggerData) { PlayerDef key = subList.Key; List <Trigger> value = subList.Value; if (value.Count > 0) // Category not empty { Label lbl = new Label(); lbl.Content = key.ToString(); pls.Add(new MySelectableListItem(new object[] { key, lbl }, lbl)); } } pls.Sort((MySelectableListItem item1, MySelectableListItem item2) => String.Compare(item1.ToString(), item2.ToString())); foreach (MySelectableListItem item in pls) { lstPlayers.Add(item); } //File.WriteAllText("gen.txt", getSaveString()); }