示例#1
0
文件: Choice.cs 项目: zombisaur/iggy
        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
文件: Rule.cs 项目: zombisaur/iggy
 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
文件: Prereq.cs 项目: zombisaur/iggy
 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
文件: Prereq.cs 项目: zombisaur/iggy
 public abstract bool Check(Character character);
示例#18
0
文件: Prereq.cs 项目: zombisaur/iggy
 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
文件: Prereq.cs 项目: zombisaur/iggy
 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
文件: Prereq.cs 项目: zombisaur/iggy
 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
文件: Prereq.cs 项目: zombisaur/iggy
 public override bool Check(Character character)
 {
     return !this.prereq.Check(character);
 }
示例#25
0
 protected override void UnbindCharacter(Character character)
 {
 }
示例#26
0
文件: Prereq.cs 项目: zombisaur/iggy
 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
文件: Prereq.cs 项目: zombisaur/iggy
            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
文件: Rule.cs 项目: zombisaur/iggy
 public abstract void Apply(Character character);