Esempio n. 1
0
    private void OnTriggerEnter(Collider otherCollider)
    {
        Debug.Log("YO YOU HIT SOMETHING WITH UPPERCUT ATTACK" + otherCollider);
        if (otherCollider.gameObject.tag == "Enemy")
        {
            m_EnemyRigidBody        = otherCollider.gameObject.GetComponent <Rigidbody>();
            m_EnemyAIBossController = otherCollider.gameObject.GetComponent <AIBossController>();

            Target enemyTarget = otherCollider.gameObject.GetComponent <Target>();

            Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody);
            Damage  damage    = m_BaseHitBox.m_Damages[0];
            float   force     = damage.m_KnockbackForce;
            direction.y = Mathf.Floor(m_YKnockbackForceOverride * m_CurrentChargeDuration);



            Time.timeScale = Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .4f, 1);
            Debug.Log("TIMESCALE" + Time.timeScale);

            m_EnemyAIBossController.m_IsNavMeshAgentUpdating = false;

            StartCoroutine(ResetTimeScale());
            StartCoroutine(ResetEnemy());

            m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse);

            var originalDamageAmount = damage.m_DamageAmount;
            damage.m_DamageAmount *= m_CurrentChargeDuration;
            enemyTarget.TakeDamage(damage);
            damage.m_DamageAmount = originalDamageAmount;
        }
    }
Esempio n. 2
0
    private void OnTriggerEnter(Collider otherCollider)
    {
        Debug.Log("YO YOU HIT SOMETHING WITH UPPERCUT ATTACK" + otherCollider);
        if (otherCollider.gameObject.tag == "Enemy")
        {
            Debug.Log("CHARAGE TIEM " + m_CurrentChargeDuration);
            m_EnemyRigidBody        = otherCollider.gameObject.GetComponent <Rigidbody> ();
            m_EnemyAIBossController = otherCollider.gameObject.GetComponent <AIBossController> ();

            Target enemyTarget = otherCollider.gameObject.GetComponent <Target> ();

            Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody);
            Damage  damage    = m_BaseHitBox.m_DamageHash["UppercutAttack"];
            float   force     = damage.m_KnockbackForce;
            direction.y = m_YKnockbackForceOverride;

            // Time.timeScale = Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .1f, 1);
            // Time.fixedDeltaTime = 0.02F * Time.timeScale;
            // Debug.Log("TIMESCALE" + Time.timeScale);
            m_TimeManager.DoSlowmotion(Mathf.Clamp(1 / (m_TimeScaleSlowdown * m_CurrentChargeDuration), .1f, 1));

            m_EnemyAIBossController.m_IsNavMeshAgentUpdating = false;
            m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse);

            // StartCoroutine(ResetTimeScale());
            StartCoroutine(ResetEnemy());

            var originalDamageAmount = damage.m_DamageAmount;
            damage.m_DamageAmount *= m_CurrentChargeDuration;
            enemyTarget.TakeDamage(damage, transform.position);
            damage.m_DamageAmount = originalDamageAmount;
        }
    }
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     m_Boss           = animator.gameObject;
     m_Agent          = m_Boss.GetComponent <UnityEngine.AI.NavMeshAgent>();
     m_BossController = m_Boss.GetComponent <AIBossController>();
     m_Player         = m_BossController.GetPlayer();
 }
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        m_Boss             = animator.gameObject;
        m_Agent            = m_Boss.GetComponent <UnityEngine.AI.NavMeshAgent>();
        m_AIBossController = m_Boss.GetComponent <AIBossController>();
        Debug.Log("m_booscontroller" + m_AIBossController);
        m_Player = m_AIBossController.GetPlayer();

        // SetDistanceFromPlayer(animator);
    }
Esempio n. 5
0
    public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        m_Boss           = animator.gameObject;
        m_Agent          = m_Boss.GetComponent <UnityEngine.AI.NavMeshAgent>();
        m_BossController = m_Boss.GetComponent <AIBossController>();
        m_Player         = m_BossController.GetPlayer();

        float distanceFromPlayer = Vector3.Distance(m_Boss.transform.position, m_Player.transform.position);

        animator.SetFloat("distanceFromPlayer", distanceFromPlayer);
    }
Esempio n. 6
0
    private void OnControllerColliderHit(ControllerColliderHit hit)
    {
        Rigidbody body = hit.collider.attachedRigidbody;

        AIBossController bossController = hit.gameObject.GetComponent <AIBossController>();

        if (bossController)
        {
            Debug.Log("F**K YOUFMOVESIMPLE");
            Vector3 direction = body.transform.position - transform.position;
            AddImpact(direction, 10f);
            // m_CharacterController.SimpleMove((new Vector3(100f * Time.deltaTime, 0, 100f * Time.deltaTime)));
        }
    }
    private void OnTriggerEnter(Collider otherCollider)
    {
        if (otherCollider.gameObject.tag == "Enemy")
        {
            m_CustomCrosshair.SetCrosshairColor(Color.red);
            m_EnemyAIBossController = otherCollider.gameObject.GetComponent <AIBossController>();
            m_EnemyRigidBody        = otherCollider.gameObject.GetComponent <Rigidbody>();
            Target enemyTarget = otherCollider.gameObject.GetComponent <Target>();

            Vector3 direction = m_BaseHitBox.GetDirection(m_EnemyRigidBody);
            Damage  damage    = m_BaseHitBox.m_DamageHash[m_CurrentComboType.ToString()];
            float   force     = damage.m_KnockbackForce;

            m_EnemyAIBossController.m_IsNavMeshAgentUpdating = false;

            m_EnemyRigidBody.AddForce(direction * force, ForceMode.Impulse);
            StartCoroutine(ResetEnemy());
            enemyTarget.TakeDamage(damage);
        }
    }