override public BT_Status UpdateAction() { timer_attack += Time.deltaTime; GameObject go = father_colliders.transform.GetChild((int)dir_collider).gameObject; if (!slash_done) { get_damage_collider.enabled = false; go.SetActive(true); BoxCollider2D col = go.GetComponent <BoxCollider2D>(); player_detection_slash = Physics2D.OverlapBox(go.transform.position, col.size, 0, player_mask); if (timer_attack > time_to_make_slash) { timer_attack = 0.0f; slash_done = true; } } else { go.SetActive(false); if (player_detection_slash != null) { Transform parent = player_detection_slash.transform.parent; if (parent != null) { Player_Manager player_manager_scr = parent.GetComponent <Player_Manager>(); if (player_manager_scr != null) { player_manager_scr.GetDamage(transform); slash_done = false; player_detection_slash = null; BT_Kelpi kelpi_bt = ((BT_Kelpi)myBT); if (kelpi_bt != null) { kelpi_bt.Set_Can_Make_Slash(false); } } } } else { //Stop get_damage_collider.enabled = true; } isFinish = true; } return(BT_Status.RUNNING); }
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; } } } } }