Weapons damages update if value change

This commit is contained in:
2023-10-17 14:00:29 +02:00
parent d6f946acf1
commit d265c8214a
2 changed files with 14 additions and 20 deletions
+6 -20
View File
@@ -11,17 +11,21 @@ public class PlayerWeapons : MonoBehaviour
[SerializeField] private GameObject arrow;
private PlayerMovements _pm;
private PlayerManager _manager;
private void Start()
{
_pm = GetComponent<PlayerMovements>();
_manager = GetComponent<PlayerManager>();
InvokeRepeating(nameof(ShootBeam), 5f, 5f);
InvokeRepeating(nameof(ShootArrow), 2f, 2f);
}
private void ShootBeam()
{
Instantiate(laser, transform.position, _pm.lookOnRight ? Quaternion.identity : Quaternion.Euler(0, 0, 180), transform);
GameObject defaultBeam = Instantiate(laser, transform.position, _pm.lookOnRight ? Quaternion.identity : Quaternion.Euler(0, 0, 180), transform);
defaultBeam.GetComponent<LaserBeam>().Damages = _manager.BeamDamages;
if (laserOnX)
{
@@ -64,25 +68,7 @@ public class PlayerWeapons : MonoBehaviour
{
GameObject spawnedArrow = Instantiate(arrow, transform.position, Quaternion.identity);
spawnedArrow.GetComponent<Arrow>().target = target;
spawnedArrow.GetComponent<Arrow>().Damages = _manager.ArrowDamages;
}
}
GameObject GetClosestEnemy(GameObject[] enemies)
{
GameObject bestTarget = null;
float closestDistanceSqr = Mathf.Infinity;
Vector3 currentPosition = transform.position;
foreach (GameObject potentialTarget in enemies)
{
Vector3 directionToTarget = potentialTarget.transform.position - currentPosition;
float dSqrToTarget = directionToTarget.sqrMagnitude;
if (dSqrToTarget < closestDistanceSqr)
{
closestDistanceSqr = dSqrToTarget;
bestTarget = potentialTarget;
}
}
return bestTarget;
}
}
+8
View File
@@ -5,8 +5,16 @@ public class Sword : MonoBehaviour
{
public int Damages = 25;
private PlayerManager _manager;
private void Start()
{
_manager = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerManager>();
}
private void Update()
{
Damages = _manager.SwordsDamages;
RotateSword();
}