コード例 #1
0
ファイル: BaseAbilityActor.cs プロジェクト: kimch2/agame
        public void AddAbilityState(AbilityState state, bool muteDisplayEffect)
        {
            AbilityStateEntry entry = this.GetStateEntry(this._abilityStatePushCount, state, true);

            if (entry.count == 0)
            {
                this.abilityState |= state;
                if (this.onAbilityStateAdd != null)
                {
                    this.onAbilityStateAdd(state, muteDisplayEffect);
                }
            }
            entry.count++;
        }
コード例 #2
0
ファイル: BaseAbilityActor.cs プロジェクト: kimch2/agame
 private AbilityStateEntry GetStateEntry(List <AbilityStateEntry> ls, AbilityState state, bool createIfNotFound = false)
 {
     for (int i = 0; i < ls.Count; i++)
     {
         if (ls[i].state == state)
         {
             return(ls[i]);
         }
     }
     if (createIfNotFound)
     {
         AbilityStateEntry item = new AbilityStateEntry {
             state = state,
             count = 0
         };
         ls.Add(item);
         return(item);
     }
     return(null);
 }
コード例 #3
0
ファイル: BaseAbilityActor.cs プロジェクト: kimch2/agame
        public bool IsImmuneAbilityState(AbilityState state)
        {
            AbilityStateEntry entry = this.GetStateEntry(this._abilityStateImmuneCount, state, false);

            return((entry != null) ? (entry.count > 0) : false);
        }