Пример #1
0
        public Choice(SelectRule rule, Character character)
        {
            this.rule = rule;
            this.character = character;
            this.options = new ObservableCollection<RuleElement>();

            FillItems();
            if (this.rule.Filter != null)
            {
                this.rule.Filter.FilterChanged += OnFilterChanged;
            }
        }
Пример #2
0
 public abstract void Revoke(Character character);
Пример #3
0
 protected override void UnbindCharacter(Character character)
 {
     this.boundStat.PropertyChanged -= OnBoundStatPropertyChanged;
     this.boundStat = null;
 }
Пример #4
0
 protected override void UnbindCharacter(Character character)
 {
     this.baseRule.UnbindCharacter(character);
 }
Пример #5
0
 protected abstract void UnbindCharacter(Character character);
Пример #6
0
 public override sealed void Apply(Character character)
 {
     character.GetStat(Stat).AddModifier(this);
     BindCharacter(character);
 }
Пример #7
0
 public override void Apply(Character character)
 {
     character.TextStrings[this.name] = this.value;
 }
Пример #8
0
 public override void Revoke(Character character)
 {
     character.Revoke(this.element);
 }
Пример #9
0
 public void Apply(Character character)
 {
     foreach (Rule rule in this.rules) { rule.Apply(character); }
 }
Пример #10
0
 public override void Revoke(Character character)
 {
     /// TODO: Errrr... maybe?
 }
Пример #11
0
 public override void Apply(Character character)
 {
     character.Grant(this.element);
 }
Пример #12
0
 public override void Apply(Character character)
 {
     character.Alias(this.name, this.alias);
 }
Пример #13
0
 public void Unbind(Character character)
 {
     this.character.Inventory.PropertyChanged -= InventoryPropertyChanged;
     this.character = null;
 }
Пример #14
0
 public void Bind(Character character)
 {
     this.character = character;
     this.character.Inventory.PropertyChanged += InventoryPropertyChanged;
 }
Пример #15
0
 public override bool Check(Character character)
 {
     return character.Grants.Contains(this.boundElement);
 }
Пример #16
0
 public void Revoke(Character character)
 {
     foreach (Rule rule in this.rules) { rule.Revoke(character); }
 }
Пример #17
0
 public abstract bool Check(Character character);
Пример #18
0
 public override bool Check(Character character)
 {
     return this.left.Check(character) && this.right.Check(character);
 }
Пример #19
0
 public override void Revoke(Character character)
 {
     character.TextStrings.Remove(this.name);
 }
Пример #20
0
 public override bool Check(Character character)
 {
     int required = this.count;
     for (int i = 0; i < prereqs.Length && required > 0; i++)
     {
         if (this.prereqs[i].Check(character)) { required--; }
     }
     return (required == 0);
 }
Пример #21
0
 public override void Revoke(Character character)
 {
     throw new NotImplementedException();
 }
Пример #22
0
 public override bool Check(Character character)
 {
     return false;
 }
Пример #23
0
 public override sealed void Revoke(Character character)
 {
     UnbindCharacter(character);
     character.GetStat(Stat).RemoveModifier(this);
 }
Пример #24
0
 public override bool Check(Character character)
 {
     return !this.prereq.Check(character);
 }
Пример #25
0
 protected override void UnbindCharacter(Character character)
 {
 }
Пример #26
0
 public override bool Check(Character character)
 {
     throw new NotImplementedException();
 }
Пример #27
0
 protected override void BindCharacter(Character character)
 {
     this.boundStat = character.GetStat(this.sourceStat);
     this.boundStat.PropertyChanged += OnBoundStatPropertyChanged;
 }
Пример #28
0
            public override bool Check(Character character)
            {
                for (int i = 0; i < this.boundElements.Length; i++)
                {
                    if (character.Grants.Contains(this.boundElements[i])) { return true; }
                }

                 	            return false;
            }
Пример #29
0
 protected override void UnbindCharacter(Character character)
 {
     this.predicate.Unbind(character);
     base.UnbindCharacter(character);
 }
Пример #30
0
 public abstract void Apply(Character character);