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(ConstantWeapon weapon, EquippedItem item, EntityInstance source, EntityInstance target) { var p = WeaponPrototype.Instantiate(); p.Source = source; p.Target = target; var hp = source.Entity.Hardpoints[item.Position.x, item.Position.y]; var barrel = source.GetBarrel(hp); var t = p.transform; t.SetParent(barrel); t.forward = barrel.forward; t.position = barrel.position; p.Damage = weapon.Damage; p.DamageType = weapon.DamageType; p.Range = weapon.Range; _weapons.Add(item, p); p.Initialize(); } public override void StopFiring(EquippedItem item) { _weapons[item].Stop(); _weapons.Remove(item); } }