protected void Start()
        {
#pragma warning disable CS0612 // Type or member is obsolete
            if (repulsionCannonFireSound is null && PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.RepulsionCannon), out var RCFilename))
            {
                AddressablesUtility.LoadAsync <GameObject>(RCFilename).Completed += (x) =>
                {
                    var gameObject1 = x.Result;
                    var component   = gameObject1?.GetComponent <RepulsionCannon>();
                    repulsionCannonFireSound = component?.shootSound;
                };
            }

            if ((stasisRifleFireSound is null || stasisRifleEvent is null) && PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.StasisRifle), out var SRFilename))
            {
                AddressablesUtility.LoadAsync <GameObject>(SRFilename).Completed += (x) =>
                {
                    var gameObject2 = x.Result;
                    var component2  = gameObject2?.GetComponent <StasisRifle>();
                    stasisRifleFireSound = component2?.fireSound;
                    stasisRifleEvent     = component2?.chargeBegin;
                };
            }

            if (modeChangeSound is null && PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.PropulsionCannon), out var PCFilename))
            {
                AddressablesUtility.LoadAsync <GameObject>(PCFilename).Completed += (x) =>
                {
                    var gameObject3 = x.Result;
                    var component3  = gameObject3?.GetComponent <PropulsionCannon>();
                    modeChangeSound = component3?.shootSound;
                };
            }

            if (laserShootSound is null && PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.Welder), out var WFilename))
            {
                AddressablesUtility.LoadAsync <GameObject>(WFilename).Completed += (x) =>
                {
                    var gameObject4 = x.Result;
                    var component4  = gameObject4?.GetComponent <Welder>();
                    laserShootSound = component4?.weldSound;
                };
            }
#pragma warning restore CS0612 // Type or member is obsolete

            laserEndParticleSystem = LaserParticles.transform.Find("Laserend").gameObject.GetComponent <ParticleSystem>();
            scaleParticleSystem    = LaserParticles.transform.Find("scale").GetComponent <ParticleSystem>();
        }
        protected void Start()
        {
            if (repulsionCannonFireSound is null)
            {
                if (PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.RepulsionCannon), out var RCFilename))
                {
                    var gameObject1 = Resources.Load <GameObject>(RCFilename);
                    var component   = gameObject1.GetComponent <RepulsionCannon>();
                    repulsionCannonFireSound = component.shootSound;
                    gameObject1.SetActive(false);
                }

                if (PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.StasisRifle), out var SRFilename))
                {
                    var gameObject2 = Resources.Load <GameObject>(SRFilename);
                    var component2  = gameObject2.GetComponent <StasisRifle>();
                    stasisRifleFireSound = component2.fireSound;
                    stasisRifleEvent     = component2.chargeBegin;
                    gameObject2.SetActive(false);
                }

                if (PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.PropulsionCannon), out var PCFilename))
                {
                    var gameObject3 = Resources.Load <GameObject>(PCFilename);
                    var component3  = gameObject3.GetComponent <PropulsionCannon>();
                    modeChangeSound = component3.shootSound;
                    gameObject3.SetActive(false);
                }

                if (PrefabDatabase.TryGetPrefabFilename(CraftData.GetClassIdForTechType(TechType.Welder), out var WFilename))
                {
                    var gameObject4 = Resources.Load <GameObject>(WFilename);
                    var component4  = gameObject4.GetComponent <Welder>();
                    laserShootSound = component4.weldSound;
                    gameObject4.SetActive(false);
                }

                Transform transform1;
                laserEndParticleSystem = LaserParticles.transform.Find("Laserend").gameObject.GetComponent <ParticleSystem>();
                scaleParticleSystem    = LaserParticles.transform.Find("scale").GetComponent <ParticleSystem>();
            }
            else
            {
                rigidbody.detectCollisions = true;
            }
        }