Я пытаюсь сделать сценарий, который дает игроку более сильную атаку при переходе при включении питания.Это работало хорошо с увеличением здоровья, которое я сделал, но я не могу определить, что я делаю неправильно с этим.Я занимался этим последние несколько дней и никуда не денусь.Строка с сообщением об ошибке закомментирована, но ее может быть довольно сложно увидеть.Это вторая после последней строки кода:
power.damagePerShot = power.damagePerShot + DamageBoost;
Я думаю, что я понимаю природу ошибки, но я не понимаю, почему я ее получаю.Если power.damagePerShot
взято из PlayerShooting
, а затем ссылка на правильный сценарий, я не понимаю, откуда берется нулевая ссылка.
Ссылка на компонент ...
Сценарий, на который ссылаются, прикреплен к объекту ...
using UnityEngine;
public class ShootPowerUp : MonoBehaviour
{
public GameObject pickupEffect;
public PlayerShooting playerShooting;
public int DamageBoost = 100;
private void Update()
{
transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime);
}
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
ShootPowerPickup(other);
}
}
void ShootPowerPickup(Collider player)
{
Instantiate(pickupEffect, transform.position, transform.rotation);
PlayerShooting power = player.GetComponent<PlayerShooting>();
power.damagePerShot = power.damagePerShot + DamageBoost; //This line is giving the error.
Destroy(gameObject);
}
}