예제 #1
0
 private void YesButton_Click(object sender, RoutedEventArgs e)
 {
     if (InputTextBox.Text != string.Empty)
     {
         TriggerList l = new TriggerList();
         l.DisplayName = InputTextBox.Text;
         DataQuery.Instance.AllTriggers.Add(l);
         InputBox.Visibility = Visibility.Collapsed;
     }
 }
예제 #2
0
        private void btnAddCode_Click(object sender, RoutedEventArgs e)
        {
            TriggerEdit ed   = new TriggerEdit();
            var         item = lstBoxTriggers.SelectedItem;

            if (item is TriggerList)
            {
                ed.ShowNewTrigger(item as TriggerList);
                lstBoxTriggers.Items.Refresh();

                foreach (var it in lstBoxTriggers.Items)
                {
                    if (it is TriggerList)
                    {
                        TriggerList item2 = item as TriggerList;
                        TriggerList bg34  = it as TriggerList;
                        if (item2.DisplayName == bg34.DisplayName)
                        {
                            item2.IsExpanded = true;
                        }
                    }
                }
            }
            else
            {
                //trying to get parent itemlist
                TriggerList trytofind = DataQuery.Instance.FindParentList(item as Trigger);
                if (trytofind != null)
                {
                    ed.ShowNewTrigger(trytofind);
                }
                else
                {
                    ed.ShowNewTrigger();
                }

                lstBoxTriggers.Items.Refresh();

                foreach (var it in lstBoxTriggers.Items)
                {
                    if (it is TriggerList)
                    {
                        TriggerList bg34 = it as TriggerList;
                        if (trytofind.DisplayName == bg34.DisplayName)
                        {
                            bg34.IsExpanded = true;
                        }
                    }
                }
            }

            //Refresh gui
            //http://stackoverflow.com/questions/11540459/create-refresh-a-wpf-treeview-and-remember-expanded-nodes-without-xaml
            //lstBoxTriggers.UpdateLayout();
        }
예제 #3
0
 public TriggerList FindParentList(Trigger t)
 {
     foreach (var item in AllTriggers)
     {
         if (item is TriggerList)
         {
             TriggerList x = (TriggerList)item;
             foreach (var newitem in x.Children)
             {
                 if (newitem == t)
                 {
                     return(x);
                 }
             }
         }
     }
     return(null);
 }
예제 #4
0
 public void ShowNewTrigger(TriggerList parent)
 {
     _parent = parent;
     ShowNewTrigger();
 }
예제 #5
0
        private void btnSaveTrigger_Click(object sender, RoutedEventArgs e)
        {
            if (bEditView)
            {
                //var prevItem = DataQuery.Instance.AllTriggers.Where(i => i.IsEqual(_trigger)).First();
                //var index = DataQuery.Instance.AllTriggers.IndexOf(prevItem);

                //DataQuery.Instance.AllTriggers[index] = _trigger;
                foreach (ITrigger item in DataQuery.Instance.AllTriggers)
                {
                    if (item.HasChildren())
                    {
                        var temp     = item as TriggerList;
                        var prevItem = temp.Children.FirstOrDefault(i => i.IsEqual(_trigger));
                        var index    = temp.Children.IndexOf(prevItem);

                        if (prevItem != null && index != -1)
                        {
                            temp.Children[index] = _trigger;
                        }
                    }
                    else
                    {
                        var trigger = item as Trigger;
                        if (trigger.IsEqual(_trigger))
                        {
                            var index = DataQuery.Instance.AllTriggers.IndexOf(trigger);
                            if (index != -1)
                            {
                                DataQuery.Instance.AllTriggers[index] = _trigger;
                                break;
                            }
                        }
                    }
                }
            }
            else
            {
                _trigger.RoomInfo.WorldNumber = GetSubstring(comboWorld.SelectedItem.ToString());
                _trigger.RoomInfo.RoomNumber  = GetSubstring(comboRoom.SelectedItem.ToString());
                if (chkEnableEvent.IsChecked == true)
                {
                    _trigger.HasEvent = true;
                    _trigger.RoomInfo.EventNumberMain = GetSubstring(comboEvent.SelectedItem.ToString());
                }
                else
                {
                    _trigger.HasEvent = false;
                    _trigger.RoomInfo.EventNumberMain = 0;
                }
                _trigger.StopWhenMapIsLoaded = chkStopAfterLoad.IsChecked ?? false;
                _trigger.IsWorldWarp         = chkWorldWarp.IsChecked ?? false;

                if (_parent == null)
                {
                    DataQuery.Instance.AllTriggers.Add(_trigger);
                }
                else
                {
                    TriggerList item = (TriggerList)DataQuery.Instance.AllTriggers.Where(x => x.DisplayName == _parent.DisplayName).First();
                    item.Children.Add(_trigger);
                }
            }
            this.Close();
        }