public void AddModifier(ModifierRule modifier) { if (!modifierDescriptors.ContainsKey(modifier.Id)) { ModifierTextUI newDescriptor = Instantiate(modifierUiPrefab, transform).GetComponent <ModifierTextUI>(); modifierDescriptors[modifier.Id] = newDescriptor; gameManager.onModifierUpdated += newDescriptor.OnModifierUpdated; gameManager.onModifierRemoved += newDescriptor.OnModifierRemoved; newDescriptor.BindToId(modifier.Id); } modifierDescriptors[modifier.Id].modifierDescription.text = modifier.Description; modifierDescriptors[modifier.Id].remainingTimeText.text = ((int)modifier.Duration).ToString() + "s"; }
public void RemoveModifier(ModifierRule modifier) { modifier.RevertRule(this); onModifierRemoved?.Invoke(modifier.Id); appliedModifiers.Remove(modifier.Id); }
public void AddModifier(ModifierRule newModifier) { appliedModifiers[newModifier.Id] = newModifier; modifiersPanel.AddModifier(newModifier); }