diff --git a/MrBigsock/Assets/Code/Character.cs b/MrBigsock/Assets/Code/Character.cs index ef500e859ce524f5f764928024169b357ec602f2..8e7d07feebaedb76d85656fdc82e8220b43fe80b 100644 --- a/MrBigsock/Assets/Code/Character.cs +++ b/MrBigsock/Assets/Code/Character.cs @@ -32,6 +32,11 @@ namespace BigSock { public double Damage => baseDamage; public double baseDamage = 1; + /* + Knockback force + */ + public float KnockbackForce = 150; + /* Hit points of the character. diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs index 1780cd972438f88914bc8c33d50dfaf55ce25a7a..e2aaff23c92eb4cf44d8089acdbbae817d5f1248 100644 --- a/MrBigsock/Assets/Code/PlayerController.cs +++ b/MrBigsock/Assets/Code/PlayerController.cs @@ -64,6 +64,14 @@ namespace BigSock { return true; } + /* + Add Kcockback. + */ + public void KnockBack(float force, Vector2 difference){ + rb.AddForce(difference * force); + + } + /* Try to kill the player. */ diff --git a/MrBigsock/Assets/Code/orc/EnemyController.cs b/MrBigsock/Assets/Code/orc/EnemyController.cs index ec6f25febdc3a9dfc6b6a6418ba6f12b71bdba0f..c0edf5dfa172b67d3d243600e2f909e11426df99 100644 --- a/MrBigsock/Assets/Code/orc/EnemyController.cs +++ b/MrBigsock/Assets/Code/orc/EnemyController.cs @@ -37,7 +37,7 @@ namespace BigSock { followCollider.OnColliderStay2D_Action += Move_OnColliderStay2D; followCollider.OnColliderExit2D_Action += Move_OnColliderExit2D; - attackCollider = transform.Find("MeleeCollider").GetComponent<EmptyCollider>(); + attackCollider = transform.Find("AttackCollider").GetComponent<EmptyCollider>(); attackCollider.OnColliderEnter2D_Action += Attack_OnColliderEnter2D; attackCollider.OnColliderStay2D_Action += Attack_OnColliderStay2D; attackCollider.OnColliderExit2D_Action += Attack_OnColliderExit2D; @@ -119,7 +119,9 @@ namespace BigSock { if (other.gameObject.tag == "Player"){ var player = other.gameObject.GetComponent<PlayerController>(); if(player.TakeDamage(Damage)){ - //knockback ? + //rb position - player position + Vector2 difference = (other.transform.position - transform.position).normalized; + player.KnockBack(KnockbackForce, difference); //animer nå ? } diff --git a/MrBigsock/ProjectSettings/TagManager.asset b/MrBigsock/ProjectSettings/TagManager.asset index 1c92a7840ec11895c76785f65d949a3d20d53355..46714474db620d273834fdca4b508690b5aa8890 100644 --- a/MrBigsock/ProjectSettings/TagManager.asset +++ b/MrBigsock/ProjectSettings/TagManager.asset @@ -8,12 +8,12 @@ TagManager: - Default - TransparentFX - Ignore Raycast - - + - collider - Water - UI - - - - - - + - enemy + - wall + - player - - -