示例#1
0
        void _ItemsPanel_SelectionChanged(object sender, EventArgs e)
        {
            if (_ItemsList.SelectedItem != null)
            {
                AccessKeyData data = ((AccessKeyListItem)_ItemsList.SelectedItem).Data;
                if (data.Type == Framework.AI.AccessKeyType.CounterLimit)
                {
                    _CounterLimitField.Data       = data;
                    _CounterLimitField.Visibility = Visibility.Visible;

                    _TimeLimitField.Data       = null;
                    _TimeLimitField.Visibility = Visibility.Hidden;
                }
                else
                {
                    _TimeLimitField.Data       = data;
                    _TimeLimitField.Visibility = Visibility.Visible;

                    _CounterLimitField.Data       = null;
                    _CounterLimitField.Visibility = Visibility.Hidden;
                }
            }
            else
            {
                _CounterLimitField.Visibility = Visibility.Hidden;
                _TimeLimitField.Visibility    = Visibility.Hidden;
            }
            Repaint();
        }
示例#2
0
        private static AccessKeyData CreateAccessKeyFrom(XmlElement node)
        {
            AccessKeyData result = null;

            Skill.Framework.AI.AccessKeyType accessKeyType = Skill.Framework.AI.AccessKeyType.TimeLimit;
            bool isCorrect = false;

            try
            {
                accessKeyType = (Skill.Framework.AI.AccessKeyType)Enum.Parse(typeof(Skill.Framework.AI.AccessKeyType), node.Name.ToString(), false);
                isCorrect     = true;
            }
            catch (Exception)
            {
                isCorrect = false;
            }
            if (isCorrect)
            {
                switch (accessKeyType)
                {
                case Skill.Framework.AI.AccessKeyType.CounterLimit:
                    result = new CounterLimitAccessKeyData();
                    break;

                case Skill.Framework.AI.AccessKeyType.TimeLimit:
                    result = new TimeLimitAccessKeyData();
                    break;
                }
            }
            return(result);
        }
示例#3
0
        private void Add(AccessKeyData data)
        {
            AccessKeyListItem newField = new AccessKeyListItem(this, data);

            newField.UpdateName();
            _ItemsList.Controls.Add(newField);
            _ItemsList.SelectedItem = newField;
        }
示例#4
0
        public void Load(XmlElement e)
        {
            int count = e.GetAttributeValueAsInt("Count", 0);

            this.Name = e.GetAttributeValueAsString("Name", this.Name);
            Keys      = new AccessKeyData[count];
            int index = 0;

            foreach (var item in e)
            {
                AccessKeyData ak = CreateAccessKeyFrom(item);
                if (ak != null)
                {
                    ak.Load(item);
                    Keys[index++] = ak;
                }
            }
        }
示例#5
0
 public AccessKeyListItem(SharedAccessKeysEditor editor, AccessKeyData data)
     : base(editor, false)
 {
     this.Data = data;
 }