示例#1
0
    public void Process(Damage damage)
    {
        var addMarkE = m_AddMark.GetEnumerator();

        while (addMarkE.MoveNext())
        {
            if (addMarkE.Current.Value.Check(damage))
            {
                damage.AddMark(addMarkE.Current.Value.mark);
            }
        }

        var removeMarkE = m_RemoveMark.GetEnumerator();

        while (removeMarkE.MoveNext())
        {
            if (removeMarkE.Current.Value.Check(damage))
            {
                damage.RemoveMark(removeMarkE.Current.Value.mark);
            }
        }
    }