コード例 #1
0
ファイル: Actor.cs プロジェクト: toninhoPinto/Monster-Chef
 public bool HandleEffects(StatusEffects statusEffect)
 {
     for(int i = affectedStatusEffects.Count-1; i >= 0; i--)
     {
         if(statusEffect.GetType() == affectedStatusEffects[i].GetType())
         {
             int result = statusEffect.compare(affectedStatusEffects[i]);
             if (result == -2) //not even same elemental type
                 continue;
             else if (result == -1) //weaker so give up
             {
                 return false;
             }
             else if (result == 0) // equal so just refresh
             {
                 affectedStatusEffects[i].refresh();
                 return false;
             }
             else //stronger so replate
             {
                 affectedStatusEffects.Add(statusEffect);
                 affectedStatusEffects.Remove(affectedStatusEffects[i]);
                 return true;
             }
         }
     }
     affectedStatusEffects.Add(statusEffect);
     return true;
 }