void OnTriggerExit2D(Collider2D collider) { Debug.Log("Trigger"); CharacterDamageController characterDamage = collider.GetComponent <CharacterDamageController>(); if (characterDamage) { characterDamageControllers.Remove(characterDamage); } }
void Start() { characterDamage = GetComponent <CharacterDamageController>(); characterStatusEffect = GetComponent <CharacterStatusEffectController>(); scalableAttributes.Add(ScalableAttributeType.HealthMaximumAmount, new CharacterAttribute( baseAmount: 100 )); scalableAttributes.Add(ScalableAttributeType.HealthRegeneratonAmount, new CharacterAttribute( baseAmount: 0 )); scalableAttributes.Add(ScalableAttributeType.HealthRegenerationRate, new CharacterAttribute( baseAmount: 1 )); scalableAttributes.Add(ScalableAttributeType.EnergyShieldMaximumAmount, new CharacterAttribute( baseAmount: 175 )); scalableAttributes.Add(ScalableAttributeType.EnergyShieldRechargeAmount, new CharacterAttribute( baseAmount: 1 )); scalableAttributes.Add(ScalableAttributeType.EnergyShieldRechargeRate, new CharacterAttribute( baseAmount: 1 )); scalableAttributes.Add(ScalableAttributeType.EnergyShieldStartFasterRate, new CharacterAttribute( baseAmount: 1 )); scalableAttributes.Add(ScalableAttributeType.StaminaMaximumAmount, new CharacterAttribute( baseAmount: 100 )); scalableAttributes.Add(ScalableAttributeType.StaminaRegenerationAmount, new CharacterAttribute( baseAmount: 20 )); scalableAttributes.Add(ScalableAttributeType.StaminaRegenerationRate, new CharacterAttribute( baseAmount: 1 )); scalableAttributes.Add(ScalableAttributeType.ArmourAmount, new CharacterAttribute( baseAmount: 0 )); scalableAttributes.Add(ScalableAttributeType.ArmourQuality, new CharacterAttribute( baseAmount: 1 )); scalableAttributes.Add(ScalableAttributeType.MovementSpeed, new CharacterAttribute( baseAmount: 5 )); dynamicAttributes.Add(DynamicAttributeType.HealthAmount, new CharacterAttribute( baseAmount: scalableAttributes[ScalableAttributeType.HealthMaximumAmount].Amount )); dynamicAttributes.Add(DynamicAttributeType.EnergyShieldAmount, new CharacterAttribute( baseAmount: scalableAttributes[ScalableAttributeType.EnergyShieldMaximumAmount].Amount )); dynamicAttributes.Add(DynamicAttributeType.StaminaAmount, new CharacterAttribute( baseAmount: scalableAttributes[ScalableAttributeType.StaminaMaximumAmount].Amount )); dynamicAttributes.Add(DynamicAttributeType.EnergyShieldDelay, new CharacterAttribute( baseAmount: 4 )); dynamicAttributes[DynamicAttributeType.StaminaAmount].MinAmount = -100; characterDamage.TakedDamage += OnTakedDamage; characterStatusEffect.ChangedStatusEffect += OnChangeStatusEffect; StartCoroutine(HealthCoroutine()); StartCoroutine(EnergyShieldCoroutine()); StartCoroutine(StaminaCoroutine()); dynamicAttributes[DynamicAttributeType.EnergyShieldAmount].Amount = 0; }