コード例 #1
0
 protected void AddCore(Character character, TraitData newData)
 {
     TraitData data;
     if (character.Traits.TryGetValue(Id, out data))
     {
         var replaceData = OnStack(character, newData, data);
         if (replaceData)
         {
             character.Traits[Id] = newData;
         }
     }
     else
     {
         character.Traits.Add(Id, newData);
         OnAdd(character, newData);
     }
 }
コード例 #2
0
 public abstract void OnAdd(Character character, TraitData traitData);
コード例 #3
0
 public abstract void OnRemove(Character character, TraitData traitData);
コード例 #4
0
 public virtual bool OnStack(Character character, TraitData traitData, TraitData oldData) => true;
コード例 #5
0
 public TraitDataDescription(TraitData traitData)
 {
     Trait = traitData.Trait;
 }