public void OnModifierRemoved(ModifiersId id) { ModifierTextUI descriptor = modifierDescriptors[id]; gameManager.onModifierRemoved -= descriptor.OnModifierRemoved; gameManager.onModifierUpdated -= descriptor.OnModifierUpdated; modifierDescriptors.Remove(id); }
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"; }