示例#1
0
    public void Play()
    {
        if (clips == null || audioSource == null)
        {
            return;
        }

        int random = Random.Range(0, totalWeight_);

        for (int i = 0; i < clips.Length; i++)
        {
            ClipProperty property = clips[i];
            if (random < property.accWeight && property.clip != null)
            {
                audioSource.clip   = property.clip;
                audioSource.loop   = loop;
                audioSource.volume = volumes[(int)volumeLevel] * globalVolume * volumeAdjust;

                if (!globalMute)
                {
                    audioSource.Play();
                }
                break;
            }
        }

        played_ = true;
    }
        /// <summary>
        ///     Instantiates global information.
        /// </summary>
        static DataGridCell()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(DataGridCell), new FrameworkPropertyMetadata(typeof(DataGridCell)));
            StyleProperty.OverrideMetadata(typeof(DataGridCell), new FrameworkPropertyMetadata(null, OnNotifyPropertyChanged, OnCoerceStyle));
            ClipProperty.OverrideMetadata(typeof(DataGridCell), new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceClip)));
            KeyboardNavigation.TabNavigationProperty.OverrideMetadata(typeof(DataGridCell), new FrameworkPropertyMetadata(KeyboardNavigationMode.Local));

            // Set SnapsToDevicePixels to true so that this element can draw grid lines.  The metadata options are so that the property value doesn't inherit down the tree from here.
            SnapsToDevicePixelsProperty.OverrideMetadata(typeof(DataGridCell), new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.AffectsArrange));

            EventManager.RegisterClassHandler(typeof(DataGridCell), MouseLeftButtonDownEvent, new MouseButtonEventHandler(OnAnyMouseLeftButtonDownThunk), true);
        }
示例#3
0
        static DataGridColumnHeader()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(typeof(DataGridColumnHeader)));

            ContentProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(OnNotifyPropertyChanged, OnCoerceContent));
            ContentTemplateProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(null, OnNotifyPropertyChanged, OnCoerceContentTemplate));
            ContentTemplateSelectorProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(null, OnNotifyPropertyChanged, OnCoerceContentTemplateSelector));
            ContentStringFormatProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(null, OnNotifyPropertyChanged, OnCoerceStringFormat));
            StyleProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(null, OnNotifyPropertyChanged, OnCoerceStyle));
            HeightProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(OnNotifyPropertyChanged, OnCoerceHeight));

            FocusableProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(false));
            ClipProperty.OverrideMetadata(typeof(DataGridColumnHeader), new FrameworkPropertyMetadata(null, OnCoerceClip));
        }
示例#4
0
    void CalculateWeight()
    {
        totalWeight_ = 0;
        if (clips != null)
        {
            for (int i = 0; i < clips.Length; i++)
            {
                ClipProperty property = clips[i];
                if (property.clip != null)
                {
                    bool calc = true;

                    if (property.category != AudioCategory.None)
                    {
                        useCategory = true;
                        if (property.category != category)
                        {
                            calc = false;
                        }
                    }


                    if (calc)
                    {
                        totalWeight_      += property.weight;
                        property.accWeight = totalWeight_;
                    }
                    else
                    {
                        property.accWeight = 0;
                    }
                }
                else
                {
                    property.weight    = 0;
                    property.accWeight = 0;
                }
            }
        }
    }