private EffectSystem() { m_default_category = new EffectCategoryData(); m_default_category.m_category = 0; m_default_category.m_uniqueness_type = EffectUniquenessType.DifferentConflictID; m_default_category.m_rejection_type = EffectRejectionType.Older; m_default_category.m_rejection_action = EffectRejectionAction.Destruct; }
ClassifiedEffectContainer GetContainer(int category_id) { ClassifiedEffectContainer container; if (!m_effects_by_class.TryGetValue(category_id, out container)) { EffectCategoryData category = EffectSystem.Instance.GetCategory(category_id); if (category == null) { return(null); } container = new ClassifiedEffectContainer(this, category); m_effects_by_class[category_id] = container; } return(container); }
public void RegisterEffectCategory(EffectCategoryData data) { m_categories[data.m_category] = data; }
public void Destruct() { m_registry = null; m_category = null; m_active_effects.Clear(); }
public ClassifiedEffectContainer(EffectRegistry registry, EffectCategoryData category) { m_registry = registry; m_category = category; }