private void OnTriggerEnter2D(Collider2D col) { if (this_type == Type.ArrowAttack) { if (col.transform.gameObject.layer == LayerMask.NameToLayer("Background") || col.transform.gameObject.layer == LayerMask.NameToLayer("Target")) { if (GetComponent <Rigidbody2D>().velocity != Vector2.zero) { transform.parent = col.transform; if (col.transform.gameObject.layer == LayerMask.NameToLayer("Background")) { if (!col.transform.tag.Equals("Wall")) { GetComponent <Rigidbody2D>().velocity = new Vector2(0, 0); } } if (col.transform.gameObject.tag.Equals("Monster")) { col.transform.parent.GetComponent <Rigidbody2D>().velocity = Vector2.zero; if (GameManager.Stun_Arrow) { col.transform.parent.GetComponent <Rigidbody2D>().AddForce(StageManager.player_static.transform.position.x < col.transform.parent.transform.position.x ? new Vector2(+30, 15) : new Vector2(-30, 15)); col.transform.parent.GetComponent <MonsterScript>().damage = true; col.transform.parent.GetComponent <MonsterScript>().player = StageManager.player_static; col.transform.parent.GetComponent <MonsterScript>().time = 0; //col.transform.parent.GetComponent<Rigidbody2D>().AddForce(col.transform.position.x > transform.parent.position.x ? new Vector2(+5, 70) : new Vector2(-5, 70)); } else { col.transform.parent.GetComponent <Rigidbody2D>().AddForce(col.transform.position.x > transform.position.x ? new Vector2(+10, 0) : new Vector2(-10, 0)); } col.transform.parent.GetComponent <MonsterScript>().hp -= GameManager.Arrow_Damage; if (col.transform.parent.GetComponent <MonsterScript>().hp <= 0) { col.transform.parent.GetComponent <MonsterScript>().Dead(); } GameManager.VibrationCamera(0.05f); SoundManager.ArrowDamaageSE(true); EffectManager.Play_Hit_Normal(transform.position, !(col.transform.position.x > transform.position.x)); EffectManager.Play_Hit_Small(transform.position, !(col.transform.position.x > transform.position.x)); if (col.transform.gameObject.layer == LayerMask.NameToLayer("Target") && !GameManager.Penetrate_Arrow) { GetComponent <Rigidbody2D>().velocity = new Vector2(0, 0); Destroy(gameObject); } } else if (col.transform.gameObject.tag.Equals("Boss")) { if (GameManager.Boss_UI) { GameManager.Boss_now_hp -= GameManager.Arrow_Damage; GameManager.VibrationCamera(0.05f); SoundManager.ArrowDamaageSE(true); GameManager.UpdateHpBar(); EffectManager.Play_Hit_Normal(transform.position, !(col.transform.position.x > transform.position.x)); EffectManager.Play_Hit_Small(transform.position, !(col.transform.position.x > transform.position.x)); } } } } } else if (this_type == Type.SwordAttack) { if (col.transform.gameObject.layer == LayerMask.NameToLayer("Target")) { if (col.transform.gameObject.tag.Equals("Monster") && col.transform.parent.GetComponent <MonsterScript>()) { col.transform.parent.GetComponent <Rigidbody2D>().velocity = Vector2.zero; if (GameManager.Stun_Sword) { if (Mathf.Abs(Input.GetAxisRaw("Horizontal")) != 0) { col.transform.parent.GetComponent <Rigidbody2D>().AddForce(Input.GetAxisRaw("Horizontal") > 0 ? new Vector2(+25, 70) : Input.GetAxisRaw("Horizontal") < 0 ? new Vector2(-25, 70) : col.transform.position.x > transform.parent.position.x ? new Vector2(+5, 70) : new Vector2(-5, 70)); } else { col.transform.parent.GetComponent <Rigidbody2D>().AddForce(Input.GetAxisRaw("Horizontal Trigger") > 0 ? new Vector2(+25, 70) : Input.GetAxisRaw("Horizontal Trigger") < 0 ? new Vector2(-25, 70) : col.transform.position.x > transform.parent.position.x ? new Vector2(+5, 70) : new Vector2(-5, 70)); } col.transform.parent.GetComponent <MonsterScript>().damage = true; col.transform.parent.GetComponent <MonsterScript>().player = StageManager.player_static; col.transform.parent.GetComponent <MonsterScript>().time = 0; } else { if (Mathf.Abs(Input.GetAxisRaw("Horizontal")) != 0) { col.transform.parent.GetComponent <Rigidbody2D>().AddForce(Input.GetAxisRaw("Horizontal") > 0 ? new Vector2(+25, 0) : Input.GetAxisRaw("Horizontal") < 0 ? new Vector2(-25, 0) : col.transform.position.x > transform.parent.position.x ? new Vector2(+5, 0) : new Vector2(-5, 0)); } else { col.transform.parent.GetComponent <Rigidbody2D>().AddForce(Input.GetAxisRaw("Horizontal Trigger") > 0 ? new Vector2(+25, 0) : Input.GetAxisRaw("Horizontal Trigger") < 0 ? new Vector2(-25, 0) : col.transform.position.x > transform.parent.position.x ? new Vector2(+5, 0) : new Vector2(-5, 0)); } } col.transform.parent.GetComponent <MonsterScript>().hp -= GameManager.Sword_Damage; if (col.transform.parent.GetComponent <MonsterScript>().hp <= 0) { col.transform.parent.GetComponent <MonsterScript>().Dead(); } GameManager.VibrationCamera(0.1f); SoundManager.ArrowDamaageSE(true); EffectManager.Play_Hit_Medium(col.transform.position + (col.transform.position.x > transform.parent.position.x ? new Vector3(+col.GetComponent <BoxCollider2D>().size.x * 0.5f, -col.GetComponent <BoxCollider2D>().size.y * 0.5f, 0) : new Vector3(-col.GetComponent <BoxCollider2D>().size.x * 0.5f, -col.GetComponent <BoxCollider2D>().size.y * 0.5f, 0)), !(col.transform.position.x > transform.parent.position.x)); } else if (col.transform.gameObject.tag.Equals("Boss")) { if (GameManager.Boss_UI) { GameManager.Boss_now_hp -= GameManager.Sword_Damage; GameManager.VibrationCamera(0.1f); SoundManager.ArrowDamaageSE(true); GameManager.UpdateHpBar(); EffectManager.Play_Hit_Medium(col.transform.position + (col.transform.position.x > transform.parent.position.x ? new Vector3(+col.GetComponent <BoxCollider2D>().size.x * 0.5f, -col.GetComponent <BoxCollider2D>().size.y * 0.5f, 0) : new Vector3(-col.GetComponent <BoxCollider2D>().size.x * 0.5f, -col.GetComponent <BoxCollider2D>().size.y * 0.5f, 0)), !(col.transform.position.x > transform.parent.position.x)); } } else if (col.transform.gameObject.name.Equals("Bell")) { col.transform.gameObject.layer = LayerMask.NameToLayer("Default"); col.GetComponent <BoxCollider2D>().enabled = false; col.GetComponent <Rigidbody2D>().AddForce(col.transform.position.x > transform.parent.position.x ? new Vector2(+1500, 500) : new Vector2(-1500, 500)); GameManager.VibrationCamera(0.05f); SoundManager.ArrowDamaageSE(true); SoundManager.BellSE(true); EffectManager.Play_Hit_Normal(transform.position, !(col.transform.position.x > transform.position.x)); EffectManager.Play_Hit_Small(transform.position, !(col.transform.position.x > transform.position.x)); GameManager.SaveGame(col.transform.parent.gameObject); } else if (col.transform.gameObject.name.Equals("Lever")) { StartCoroutine(col.GetComponent <TriggerScript>().Set_Trigger()); GameManager.VibrationCamera(0.1f); SoundManager.ArrowDamaageSE(true); } else if (col.transform.gameObject.name.Equals("Treasure_Box")) { col.transform.parent.GetComponent <Animator>().SetBool("Open", true); col.transform.gameObject.SetActive(false); GameManager.VibrationCamera(0.1f); SoundManager.ArrowDamaageSE(true); } } } }