private void RegisterModifier(long delta) { if (Container == null) { return; } ItemComp = this.Get <MyInventoryItemComponent>(); if (ItemComp?.ItemContainer == null) { return; } Holder = ItemComp.ItemContainer.Entity; Equipment = ItemComp.Item as MyEquipmentItem; if (Holder == null) { return; } DamageComp = Holder.Get <MyCharacterDamageComponent>(); if (DamageComp == null) { return; } DamageComp.RegisterDamageModifier(this); DamageComp.DamageTaken += OnDamageTaken; }
private void UnregisterModifier() { if (DamageComp != null) { DamageComp.UnregisterDamageModifier(this); DamageComp.DamageTaken -= OnDamageTaken; } Holder = null; DamageComp = null; ItemComp = null; }