diff --git a/Assets/Scripts/Player/PlayerShooting.cs b/Assets/Scripts/Player/PlayerShooting.cs index d59be9d377b05b4f7455db9756a1f415a361c4ae..67b570267857d8cdc6bec560a661b21e11ec3b0f 100644 --- a/Assets/Scripts/Player/PlayerShooting.cs +++ b/Assets/Scripts/Player/PlayerShooting.cs @@ -45,6 +45,13 @@ public class PlayerShooting : MonoBehaviour gunLight = GetComponent<Light>(); } + static public void upgrade() + { + int multiplier = damagePerShot / baseDamagePerShot; + baseDamagePerShot += 10; + damagePerShot = baseDamagePerShot * multiplier; + } + public void buffDamage(float damageMultiplier) { damagePerShot = (int) (damageMultiplier * baseDamagePerShot); diff --git a/Assets/Scripts/Player/PlayerShotgun.cs b/Assets/Scripts/Player/PlayerShotgun.cs index 63d22c4fb108ff3644ae5a25e0c33f6eaed3eb02..76e8d6c7573a865868844bd8ad9c39347887cc0e 100644 --- a/Assets/Scripts/Player/PlayerShotgun.cs +++ b/Assets/Scripts/Player/PlayerShotgun.cs @@ -50,9 +50,16 @@ public class PlayerShotgun : MonoBehaviour shootRays = new Ray[5]; shootHits = new RaycastHit[5]; - } - - public void buffDamage(float damageMultiplier) + } + + static public void upgrade() + { + int multiplier = damagePerShot / baseDamagePerShot; + baseDamagePerShot += 10; + damagePerShot = baseDamagePerShot * multiplier; + } + + public void buffDamage(float damageMultiplier) { damagePerShot = (int) (damageMultiplier * baseDamagePerShot); } @@ -88,9 +95,16 @@ public class PlayerShotgun : MonoBehaviour } } - } - - public void onShoot(Component sender, object data) + } + + static public void addDamage(int damage) + { + int multiplier = damagePerShot / baseDamagePerShot; + baseDamagePerShot += damage; + damagePerShot = baseDamagePerShot * multiplier; + } + + public void onShoot(Component sender, object data) { float time = (float)data; StartCoroutine(AutoShooting(time)); diff --git a/Assets/Scripts/Player/PlayerTransaction.cs b/Assets/Scripts/Player/PlayerTransaction.cs index d87dc1e861ef53785e7bd450ce95fe8c12ba647c..08d200712478807a229db515a62e4aaec1c463f1 100644 --- a/Assets/Scripts/Player/PlayerTransaction.cs +++ b/Assets/Scripts/Player/PlayerTransaction.cs @@ -43,6 +43,16 @@ public class PlayerTransaction : MonoBehaviour void UpgradeWeapon(string weaponType) { + switch(weaponType) + { + case "default": + PlayerShooting.upgrade(); + break; + case "shotgun": + PlayerShotgun.upgrade(); + break; + } + Debug.Log($"Berhasil upgrade senjata {weaponType}"); } }