using System.Collections; using System.Collections.Generic; using UnityEngine; public class ConstantParticleWeaponManager : ConstantWeaponEffectManager { public Prototype WeaponPrototype; private Dictionary _weapons = new Dictionary(); public override void StartFiring(WeaponData data, EquippedItem item, EntityInstance source, EntityInstance target) { var p = WeaponPrototype.Instantiate(); p.Source = source; p.Target = target; var hp = item.Hardpoint; var barrel = source.GetBarrel(hp); var t = p.transform; t.SetParent(barrel); t.forward = barrel.forward; t.position = barrel.position; // Cut 4 (docs/fire-control-cut.md): FireControl already rolls this weapon's damage. _weapons.Add(item, p); p.Initialize(); } public override void StopFiring(EquippedItem item) { _weapons[item].Stop(); _weapons.Remove(item); } }