From 869d53d145b7fc3b500195b78511861931e90959 Mon Sep 17 00:00:00 2001 From: bayusamudra5502 <bayusamudra.55.02.com@gmail.com> Date: Sun, 16 Apr 2023 12:53:10 +0700 Subject: [PATCH] feat: integrate shop with upgrade weapon (default, shotgun) --- Assets/Scripts/Player/PlayerShooting.cs | 7 ++++++ Assets/Scripts/Player/PlayerShotgun.cs | 26 +++++++++++++++++----- Assets/Scripts/Player/PlayerTransaction.cs | 10 +++++++++ 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/Player/PlayerShooting.cs b/Assets/Scripts/Player/PlayerShooting.cs index d59be9d..67b5702 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 63d22c4..76e8d6c 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 d87dc1e..08d2007 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}"); } } -- GitLab