public void SpawnVehicle(Vehicle vehiclePrefab, UniversePosition universePosition, Quaternion rotation) { _playVehicleInstance = ((GameObject)Instantiate(vehiclePrefab.gameObject, universePosition.CellLocalPosition, rotation)).GetComponent<Vehicle>(); _playVehicleInstance.Controller = gameObject; _playVehicleInstance.Shiftable.SetShiftPosition(universePosition); _playVehicleInstance.GetComponent<Targetable>().Team = Team; var member = GetComponent<Fighter>(); member.SetVehicleInstance(_playVehicleInstance); _playVehicleInstance.Initialize(); var playerCurrent = Squadron.GetMember(Squadron.GetCurrentIndex()).GetComponent<ShipProfile>(); if (playerCurrent.PrimaryWeapon != null) _playVehicleInstance.SetPrimaryWeapon(playerCurrent.PrimaryWeapon.gameObject); if (playerCurrent.SecondaryWeapon != null) _playVehicleInstance.SetSecondaryWeapon(playerCurrent.SecondaryWeapon.gameObject); _playVehicleInstance.UTurnPath = UTurnPath; _playVehicleInstance.UTurnDuration = UTurnDuration; //Destroy(_playVehicleInstance.GetComponent<Tracker>()); Destroy(_playVehicleInstance.GetComponent<VehicleTracker>()); var squadronTracker = _playVehicleInstance.gameObject.AddComponent<SquadronTracker>(); squadronTracker.ArrowSprite = Squadron.ArrowSprite; //squadronTracker.TrackerSprite = Squadron.TrackerSprite; //squadronTracker.FarTrackerSprite = Squadron.FarTrackerSprite; //squadronTracker.VeryFarTrackerSprite = Squadron.VeryFarTrackerSprite; squadronTracker.LockingSprite = Squadron.LockingTrackerSprite; squadronTracker.LockedSprite = Squadron.LockedTrackerSprite; squadronTracker.CallSign = CallSign; squadronTracker.TrackerColor = TrackerColor; squadronTracker.LabelFont = Squadron.SquadronTrackerFont; squadronTracker.IsDisabled = true; var mapPin = VehicleInstance.gameObject.AddComponent<MapPin>(); mapPin.ActivePin = PlayerPinPrefab; mapPin.InactivePin = Squadron.SquadronPinPrefab; _playVehicleInstance.gameObject.layer = LayerMask.NameToLayer("Player"); _playVehicleInstance.Killable.OnDamage += PlayerController_OnDamage; _playVehicleInstance.Killable.OnDie += PlayerController_OnDie; // Apply power profile var powerProfile = GetComponent<ShipProfile>(); _playVehicleInstance.Killable.MaxShield = powerProfile.GetShield(); _playVehicleInstance.Killable.Shield = _playVehicleInstance.Killable.MaxShield; var shieldRegenerator = _playVehicleInstance.gameObject.GetComponent<ShieldRegenerator>(); shieldRegenerator.RegenerationDelay = Squadron.ShieldRegenerateDelay; shieldRegenerator.RegenerationRate = Squadron.ShieldRegenerateRate; shieldRegenerator.OnRegenerate += PlayerController_OnRegenerate; }