public void Initialize() { bulletPool = null; impactPool = null; onPutAway = new UnityEvent(); onTakeOut = new TakeOutEvent(); animator = GetComponent <Animator>(); listener = GetComponentInChildren <GunHandlerListener>(); if (listener) { listener.Initialize(gun); } if (gun.muzzleFlash == null) { return; } muzzleFlash = GameObject.Instantiate(gun.muzzleFlash, bulletSpawn.transform).transform; TransformHelper.ResetLocalTransform(muzzleFlash); muzzleFlash.gameObject.SetActive(false); }