Guest User

Base script

a guest
Oct 28th, 2026
16
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.23 KB | None | 0 0
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3.  
  4. public class EnemyFireProjectileBase : MonoBehaviour
  5. {
  6.     [Header("Projectile settings")]
  7.     [field: SerializeField] public GameObject[] m_projectiles {get; private set;} //Projectiles are pre created to save on performance
  8.     [field: SerializeField] public float m_speed { get; private set; } //Speed of projectile
  9.  
  10.     [Header("Fire settings")]
  11.     [field: SerializeField] public float m_firingInterval { get; private set; } //Firing interval between bullets
  12.    
  13.     [field: SerializeField] public float m_cooldown { get; private set; } //Cooldown between volley
  14.  
  15.     public Rigidbody2D m_rb { get; private set; }
  16.     public List<Rigidbody2D> m_rbList { get; private set; }
  17.     public Transform m_player { get; private set; }
  18.    
  19.     // Start is called once before the first execution of Update after the MonoBehaviour is created
  20.     void Start()
  21.     {
  22.         m_rb = GetComponent<Rigidbody2D>();
  23.         m_player = GameObject.FindGameObjectWithTag("Player").transform;
  24.  
  25.         m_rbList = new List<Rigidbody2D>();
  26.  
  27.         for (int i = 0; i < m_projectiles.Length; i++)
  28.         {
  29.             m_rbList.Add(m_projectiles[i].GetComponent<Rigidbody2D>());
  30.         }
  31.     }
  32. }
  33.  
Advertisement
Add Comment
Please, Sign In to add comment