Exemplo n.º 1
0
        public AuraState AddAura(Aura aura, ICaster source, object referenceObject)
        {
            var activeAura = GetAura(aura, referenceObject);

            if (activeAura != null)
            {
                activeAura.AddStack();
                return(activeAura);
            }

            var newAura = aura.CreateState(source, System, referenceObject);

            _activeAuras.Add(newAura);
            newAura.Apply();
            OnAuraAdded?.Invoke(newAura);
            return(newAura);
        }