示例#1
0
    public IEnumerator SetCharacterMovementImpairingEffect(Character_Physics character, MovementImpairingEffect effect, float length)
    {
        character.SetMovementImpairingEffect(effect);

        yield return(new WaitForSeconds(length));

        character.SetMovementImpairingEffect(MovementImpairingEffect.None);
    }
示例#2
0
 protected void Awake()
 {
     characterPhysics = GetComponent <Character_Physics>();
     dash             = GetComponent <Dash>();
     jump             = GetComponent <Jump>();
     wallInteraction  = GetComponent <Wall_Interaction>();
     player           = GameObject.FindGameObjectWithTag("Player").transform;
 }
示例#3
0
    public IEnumerator KnocbackCharacter(Character_Physics character, Vector3 direction, float knocbackForce, float knocbackLength)
    {
        character.AddOutsideForce(direction, knocbackForce);

        yield return(new WaitForSeconds(knocbackLength));

        character.ResetOutsideImpact();
    }
示例#4
0
 private void Awake()
 {
     if (wallSpeed == 0f)
     {
         wallSpeed = 4f;
     }
     characterPhysics = GetComponent <Character_Physics>();
     arenaCenter      = GameObject.FindGameObjectWithTag("ArenaCenter").transform;
 }
    public override void Cast()
    {
        Health            targetHealth;
        Character_Physics target = characterCombat.GetCombatCharacterComponents(abilityDistance, out targetHealth);

        if (target != null)
        {
            StartCoroutine(characterCombat.SetCharacterMovementImpairingEffect(target, MovementImpairingEffect.Immobilization, immobilizeLength));
        }
    }
示例#6
0
    public override void Cast()
    {
        Health            targetHealth;
        Character_Physics target = characterCombat.GetCombatCharacterComponents(abilityDistance, out targetHealth);

        if (target != null)
        {
            StartCoroutine(characterCombat.KnocbackCharacter(target, transform.forward, knocbackForce, 0.3f));
            targetHealth.DecreaseHealth(damage.GetAmount());
        }
    }
示例#7
0
    public override void Cast()
    {
        Health            targetHealth;
        Character_Physics target = characterCombat.GetCombatCharacterComponents(abilityDistance, out targetHealth);

        if (target != null && characterPhysics.currentGravityState == GravityState.Grounded)
        {
            StartCoroutine(characterPhysics.PauseGroundCheck());
            StartCoroutine(target.PauseGroundCheck());
            target.SetMovementImpairingEffect(MovementImpairingEffect.Immobilization);
            target.currentGravityState           = GravityState.InAir;
            characterPhysics.currentGravityState = GravityState.InAir;

            characterPhysics.AddForce(Vector3.up, 80f);
            target.AddOutsideForce(Vector3.up, 80f);
            targetHealth.DecreaseHealth(damage.GetAmount() * 2f);
        }
    }
示例#8
0
 protected override void Awake()
 {
     base.Awake();
     characterPhysics = GetComponent <Character_Physics>();
 }
 private void Awake()
 {
     characterPhysics = GameObject.FindGameObjectWithTag("Player").GetComponent <Character_Physics>();
     text             = GetComponent <Text>();
 }
示例#10
0
 private void Awake()
 {
     characterPhysics = GetComponent <Character_Physics>();
 }