override public BT_Status UpdateAction()
    {
        if (collider == null)
        {
            Debug.Log("No collider there! _Action_MeleeAttack");
            return(BT_Status.RUNNING);
        }

        //need to know the animation timing
        timer_to_attack += Time.deltaTime;

        if (timer_to_attack > time_to_attack)
        {
            Collider2D col_temp = Physics2D.OverlapBox(collider.transform.position, collider.size, 0.0f, player_layer);

            if (col_temp != null)
            {
                Debug.Log("Player damaged!");
                fader_scr.Fade_image.enabled = true;
                fader_scr.FadeOut(false, true);

                Transform parent = col_temp.transform.parent;
                if (parent != null)
                {
                    Player_Manager player_manager = parent.GetComponent <Player_Manager>();
                    player_manager.current_state = Player_Manager.Player_States.PUSHBACK_PLAYER;
                    player_manager.Set_Enemy_Pushback(transform);
                    live_manager_scr = parent.GetComponent <Live_Manager>();
                    if (live_manager_scr != null)
                    {
                        live_manager_scr.DetectedDamage();
                    }
                    else
                    {
                        Debug.Log("Live Manager not found _Action_MeleeAttack");
                    }
                }
                else
                {
                    Debug.Log("Parent not found _Action_MeleeAttack");
                }
            }
            col_temp        = null;
            timer_to_attack = 0;
        }

        return(BT_Status.RUNNING);
    }
Example #2
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("player_combat_collider"))
        {
            if (!Detect_Enemy_Type_And_Action())
            {
                Transform parent = collision.transform.parent;

                if (parent != null)
                {
                    live_manager_scr   = parent.GetComponent <Live_Manager>();
                    player_manager_scr = parent.GetComponent <Player_Manager>();

                    if (live_manager_scr != null && player_manager_scr != null)
                    {
                        player_manager_scr.GetDamage(transform);
                        playerHitted = true;
                    }
                }
            }
        }
    }