IEnumerator Start() { yield return(null); ActiveStation = StartStation; ActiveStation.Activate(); }
public void TryActivateStation(BaseStation station) { if (!Submarine.IsAlive || (ActiveStation == station) || (_activationAnim != null)) { return; } _activationAnim?.Kill(); var path = GetPath(ActiveStation, station); var pathRaw = path.Nodes.Select(x => x.transform.position).ToArray(); var activeStation = ActiveStation; _activationAnim = DOTween.Sequence() .AppendCallback(() => activeStation.Deactivate()) .Append(PlayerTransform.DOPath(pathRaw, path.Length / PlayerMovementSpeed).SetEase(Ease.Linear)); _activationAnim.onComplete += () => { station.Activate(); ActiveStation = station; _activationAnim = null; }; }