示例#1
0
    // Start is called before the first frame update
    void Start()
    {
        bool isFisrt = true;

        for (int i = 0; i < transform.childCount; i++)
        {
            var toggle = transform.GetChild(i)?.GetComponent <Toggle>();
            if (toggle != null)
            {
                var categoryScript = transform.GetChild(i).GetComponent <CharacterSelectionControl>();

                //subscribe from toggle
                toggle.onValueChanged.AddListener((isOn) =>
                {
                    if (isOn)
                    {
                        OnSelectionChanged?.Invoke(categoryScript);
                    }
                });
                //set default category
                toggle.isOn = isFisrt;
                isFisrt     = false;
            }
        }
    }
 private void listView1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (OnSelectionChanged != null)
     {
         OnSelectionChanged.Invoke(sender, e);
     }
 }
示例#3
0
        public void Select(int index)
        {
            if (index < 0)
            {
                return;
            }
            if (selectedTabIndex == index)
            {
                SetIndexGroupActive(selectedTabIndex, true);
                return;
            }

            selectedTabIndex = index;
            if (prevSelection >= 0)
            {
                SetIndexGroupActive(prevSelection, false);
            }

            SetIndexGroupActive(selectedTabIndex, true);
            var prev = prevSelection;

            prevSelection = selectedTabIndex;

            OnSelectionChanged?.Invoke(prev, selectedTabIndex);
        }
        protected ToolstripMenuInitializer(ToolStripMenuItem targetToopToolStripMenuItem, IEnumerable <TOption> options)
        {
            ToolStripMenuItem first = null;

            foreach (var option in options)
            {
                var localOption = option;
                var item        = new ToolStripMenuItem(option.Name);
                item.Click += (sender, e) =>
                {
                    foreach (var x in targetToopToolStripMenuItem.DropDownItems.Cast <ToolStripMenuItem>())
                    {
                        x.Checked = false;
                    }
                    item.Checked   = true;
                    _currentOption = localOption;
                    OnSelectionChanged?.Invoke(this, new ToolstripMenuOptionChangedEventArgs <TOption>(_currentOption));
                };

                targetToopToolStripMenuItem.DropDownItems.Add(item);
                if (first == null)
                {
                    first = item;
                }
            }
            first.PerformClick();
        }
示例#5
0
        protected override void KeyboardInput(InputEventArgs <TInput> args)
        {
            var key = args.Input;

            if (KeyboardAdapter.IsUp(key))
            {
                _unselectedItemIndex = _selectedItemIndex;
                _selectedItemIndex--;
                if (_selectedItemIndex < 0)
                {
                    _selectedItemIndex = _items.Count - 1;
                }
                OnSelectionChanged?.Invoke(this, _items[_unselectedItemIndex.Value], _items[_selectedItemIndex]);
            }
            else if (KeyboardAdapter.IsDown(key))
            {
                _unselectedItemIndex = _selectedItemIndex;
                _selectedItemIndex++;
                if (_selectedItemIndex >= _items.Count)
                {
                    _selectedItemIndex = 0;
                }
                OnSelectionChanged?.Invoke(this, _items[_unselectedItemIndex.Value], _items[_selectedItemIndex]);
            }
            else if (KeyboardAdapter.IsEnter(key))
            {
                OnSelect?.Invoke(this, _items[_selectedItemIndex]);
            }
        }
示例#6
0
        void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var brush = ((ComboBoxItem)ComboBox.SelectedItem).Background;

            ComboBox.Foreground = brush;
            OnSelectionChanged?.Invoke((SolidColorBrush)brush);
        }
示例#7
0
    private void OnTriggerEnter(Collider other)
    {
        var bone = other.GetComponent <ContactBone>();

        if (bone == null)
        {
            return;
        }

        if (Selected)
        {
            // deselection has to happen with the same finger bone that selected
            if (usedBone == bone)
            {
                usedBone = null;
                Selected = false;
                OnSelectionChanged?.Invoke(this, Selected);
            }
        }
        else
        {
            // only run selection for the first finger bone that makes contact
            if (usedBone == null)
            {
                usedBone = bone;
                Selected = true;
                OnSelectionChanged?.Invoke(this, Selected);

                if (SubmenuPrefab != null)
                {
                    OpenSubmenu();
                }
            }
        }
    }
 /// <summary>
 /// Helper function to to fire the OnSelectionChanged event.
 /// </summary>
 void fireSelectionChanged()
 {
     if (OnSelectionChanged != null)
     {
         OnSelectionChanged.Invoke(changedArgs);
     }
 }
示例#9
0
 private void UpdateSelection()
 {
     if (IsVisible)
     {
         OnSelectionChanged?.Invoke(this, null);
     }
 }
示例#10
0
    static IEnumerator LoadResource()
    {
        for (int i = 0; i < entries.Count; i++)
        {
            Entry entry = entries[i];

            if (entry.isDirectory)
            {
                yield return(null);

                continue;
            }

            if ((entry.songInfo.background || string.IsNullOrEmpty(entry.songInfo.backgroundPath)) &&
                (entry.songInfo.banner || string.IsNullOrEmpty(entry.songInfo.bannerPath)))
            {
                yield return(null);

                continue;
            }

            FileInfo fileInfo       = new FileInfo(GetAbsolutePath(entry.songInfo.filePath));
            var      resourceLoader = new ResourceLoader(fileInfo.Directory.FullName);

            if (!entry.songInfo.background && !string.IsNullOrEmpty(entry.songInfo.backgroundPath))
            {
                var backgroundObj = new ResourceObject(-1, ResourceType.bmp, entry.songInfo.backgroundPath);
                yield return(SmartCoroutineLoadBalancer.StartCoroutine(bmsManager, resourceLoader.LoadResource(backgroundObj)));

                entry.songInfo.background = backgroundObj.texture;
            }

            if (!entry.songInfo.banner && !string.IsNullOrEmpty(entry.songInfo.bannerPath))
            {
                var bannerObj = new ResourceObject(-2, ResourceType.bmp, entry.songInfo.bannerPath);
                yield return(SmartCoroutineLoadBalancer.StartCoroutine(bmsManager, resourceLoader.LoadResource(bannerObj)));

                entry.songInfo.banner = bannerObj.texture;
            }

            entries[i] = entry;
            cachedEntries[fileInfo.FullName] = entry;

            if (selectedEntry.HasValue &&
                string.Equals(entry.songInfo.filePath, selectedEntry.Value.filePath, StringComparison.Ordinal))
            {
                selectedEntry = entry.songInfo;
                if (OnSelectionChanged != null)
                {
                    OnSelectionChanged.Invoke(selectedEntry);
                }
            }

            InvokeListUpdated();
            yield return(null);
        }
        loadResourceCoroutine = null;
        yield break;
    }
示例#11
0
 private void OnSelectionChangedInternal(object sender, EventArgs e)
 {
     this.Log.Debug("OnSelectionChangedInternal");
     if (!DoNotFireSelectionChanged && OnSelectionChanged != null)
     {
         OnSelectionChanged.Invoke(sender, e);
     }
 }
示例#12
0
    void Select(Selectable newSelectable)
    {
        // don't pass in null values

        newSelectable.OnSelected(); // select the entity

        // check the entity type
        // Check if the entity is allready in the appropriate List
        //// add the entity to the List if NOT in it
        AddEntityToList(newSelectable);

        // Invoke onSelectionChangedonSelectionChanged if NOT null
        if (onSelectionChanged != null)
        {
            onSelectionChanged.Invoke();
        }
    }
        /// <summary>
        /// On Item selection
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listBox_items_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selectedItem = listBox_items.SelectedItem as string;

            if (selectedItem != null)
            {
                OnSelectionChanged?.Invoke(selectedItem);
            }
        }
示例#14
0
 public void ChangeTab(Tab tab)
 {
     if (tab != selectedTab)
     {
         Debug.Log("Changing Tab from " + selectedTab + " to " + tab);
         selectedTab = tab;
         OnSelectionChanged?.Invoke(selectedTab);
     }
 }
示例#15
0
        private void SelectionChanged(object sender, EventArgs e)
        {
            Debug.Assert(sender is UIListBoxItem, $"Sender must be {typeof(UIListBoxItem)}, but found {sender.GetType()}");
            int index = m_listOfItems.FindIndex(current => current == (UIListBoxItem)sender);

            Debug.Assert(index != -1, "UIListView wasn't found");
            SelectionChangedEventArgs selectionChangedEventArgs = new SelectionChangedEventArgs(index);

            OnSelectionChanged?.Invoke(this, selectionChangedEventArgs);
        }
示例#16
0
        public override void Draw()
        {
            var newval = GUILayout.SelectionGrid(Selected, Buttons, Buttons.Length, Options);

            if (newval != Selected)
            {
                Selected = newval;
                OnSelectionChanged?.Invoke(this, EventArgs.Empty);
            }
        }
示例#17
0
 private void ChangeSelection(int relevantNavValue)
 {
     if (IsNavigationMatchingDirection(relevantNavValue, forwardIsPositive))
     {
         OnSelectionChanged?.Invoke(1);
     }
     if (IsNavigationMatchingDirection(relevantNavValue, !forwardIsPositive))
     {
         OnSelectionChanged?.Invoke(-1);
     }
 }
        /// <summary>
        /// Markers the on selection changed.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="bIsSelected">if set to <c>true</c> [b is selected].</param>
        // ReSharper disable once ParameterHidesMember
        private void Marker_OnSelectionChanged(object sender, bool bIsSelected)
        {
            // Hier dürfen wir natürlich nicht über das Property gehen da sonst wieder
            // ein FirePropertyChanged bekommen und wir uns im Kreis drehen ...

            //this.bIsSelected = bIsSelected;
            //FirePropertyChanged("IsSelected");

            // Wir Forwarden das Event nur ...
            OnSelectionChanged?.Invoke(this, bIsSelected);
        }
示例#19
0
        private void ListViewSetup()
        {
            listView.OnSelectionChanged += x => OnSelectionChanged?.Invoke();
            listView.SelectionType       = SelectionType.Single;
            listView.Initialize(BindListViewItem);

            classificationToggleGroupExtension.OnSelectionChanged += HandleClassificationsSelectionChanged;
            classificationsListView.SelectionType = SelectionType.None;
            classificationsListView.Initialize(BindClassificationsListViewItem);
            // allElementsToggle.onValueChanged.AddListener(HandleAllElementsToggle);
        }
示例#20
0
        /// <summary>
        /// Object that be focused.
        /// Invokes event for new or changed selections.
        /// </summary>
        /// <param name="newSelection">Focused GameObject</param>
        public void AddSelection(GameObject newSelection)
        {
            m_currentSelection = newSelection;

            if (m_currentSelection != m_previousSelection)
            {
                m_previousSelection = m_currentSelection;
                OnSelectionChanged?.Invoke(m_currentSelection);
            }

            OnNewSelection?.Invoke(newSelection);
        }
示例#21
0
        private void OnPasteAcction(PasteActorsAction pasteAction)
        {
            pasteAction.Do(out _, out var nodeParents);

            // Select spawned objects
            var selectAction = new SelectionChangeAction(Selection.ToArray(), nodeParents.Cast <SceneGraphNode>().ToArray());

            selectAction.Do();

            Undo.AddAction(new MultiUndoAction(pasteAction, selectAction));
            OnSelectionChanged?.Invoke();
        }
示例#22
0
 private void onSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     foreach (var item in e.RemovedItems)
     {
         this.Selected.Remove(item as Photo);
     }
     foreach (var item in e.AddedItems)
     {
         this.Selected.Add(item as Photo);
     }
     OnSelectionChanged?.Invoke(sender, e);
 }
 /// <summary>
 /// Finds the by area.
 /// </summary>
 /// <param name="x">The x.</param>
 /// <param name="width">The width.</param>
 /// <param name="y">The y.</param>
 /// <param name="height">The height.</param>
 public TileMaskCollection FindByArea(int x, int y, int width, int height)
 {
     if (selection == null)
     {
         selection = new TileMaskCollection(BytesPerColor);
     }
     selection.tiles  = TilesAtPosition(x, y, width, height).tiles;
     selection.sorted = false;
     selection.UpdateContainer();
     OnSelectionChanged?.Invoke(this, selection);
     return(selection);
 }
 private void lbTableList_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (lbTableList.SelectedIndex == -1)
     {
         return;
     }
     else
     {
         OnSelectionChanged?.Invoke(sender, e);
         lbTableList.SelectedIndex = -1;
     }
 }
示例#25
0
 private void ZoomImage_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
 {
     if (!draged && e.Button == MouseButtons.Left)
     {
         var w = Width / (double)Grid_Columns;
         var h = Height / (double)Grid_Rows;
         _selectd_col = (int)Math.Floor(e.X / (w));
         _selectd_row = (int)Math.Floor(e.Y / (h));
         DrawSelection();
         OnSelectionChanged?.Invoke(this, null);
     }
     is_draging = false;
 }
示例#26
0
        public override void OnPersistentDataReady()
        {
            base.OnPersistentDataReady();

            var key = GetFullHierarchicalPersistenceKey();

            m_Selection = GetOrCreatePersistentData <Selection>(m_Selection, key);

            if (OnSelectionChanged != null)
            {
                OnSelectionChanged.Invoke();
            }
        }
 private void Tree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
 {
     if (tree.SelectedItem == null)
     {
         selectedNode     = null;
         lblSelected.Text = "none";
     }
     else
     {
         selectedNode     = (tree.SelectedItem as TreeViewItem).Tag as CategoryModel;
         lblSelected.Text = selectedNode.id + " " + selectedNode.name;
     }
     OnSelectionChanged?.Invoke(selectedNode);
 }
示例#28
0
        // get all items in selectionbox
        public void UpdateSelection(bool isQueueButtonPressed)
        {
            if (isQueueButtonPressed && SelectedItems.Where((actions => actions != null)).Any())
            {
                SelectedItems.AddRange(SelectBuildings());
            }
            else
            {
                List <IGameActionHolder> selection = SelectUnits();
                SelectedItems = (selection.Count > 0) ? isQueueButtonPressed ? SelectedItems.Union(selection).ToList() : selection : SelectBuildings();
            }

            OnSelectionChanged?.Invoke(this, new EventArgsWithPayload <List <IGameActionHolder> >(SelectedItems));
        }
示例#29
0
        private void TheComboBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (!_shouldFire)
            {
                _shouldFire = true;
            }
            else
            {
                OnSelectionChanged?.Invoke(SelectedValue, e);
            }

            _BACKWARD_BUTTON.IsEnabled = _THE_COMBO_BOX.SelectedIndex > 0;
            _FORWARD_BUTTON.IsEnabled  = (_THE_COMBO_BOX.SelectedIndex + 1) < _THE_COMBO_BOX.Items.Count;
        }
示例#30
0
        private void SelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected)
            {
                curentSelected   = e.Item;
                curentSelectedId = e.ItemIndex;
            }
            else
            {
                curentSelected   = null;
                curentSelectedId = -1;
            }

            OnSelectionChanged?.Invoke(e.IsSelected, e.Item);
        }