示例#1
0
    void OnTriggerExit2D(Collider2D collider)
    {
        Debug.Log("Trigger");
        CharacterDamageController characterDamage = collider.GetComponent <CharacterDamageController>();

        if (characterDamage)
        {
            characterDamageControllers.Remove(characterDamage);
        }
    }
示例#2
0
    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;
    }