public ShipCamTargetValues CalculateTargets() { if (HasTargets && ((_cyclePeriod > 0 && _cycleTimer > _cyclePeriod) || Input.GetKeyUp(KeyCode.O) || _bestOrientator == null || !_bestOrientator.HasTargets)) { CycleToNextVallidOrientator(); _cycleTimer = 0; } _cycleTimer += Time.unscaledDeltaTime; return(_bestOrientator.CalculateTargets()); }
public ShipCamTargetValues CalculateTargets() { _userPriorityCountdown -= Time.unscaledDeltaTime; if (Input.GetKeyUp(KeyCode.O)) { CycleToNextVallidOrientator(); Debug.Log("User selected camera mode: " + _userPriorityOrientator.Description); } var active = _orientators.Where(o => o.HasTargets); active = active.Any() ? active : _orientators; //Debug.Log(string.Join(", ", active.OrderByDescending(o => o.Priority).Select(o => o.Description + o.Priority).ToArray())); _bestOrientator = _userPriorityCountdown > 0 ? _userPriorityOrientator : active .OrderByDescending(o => o.Priority) .FirstOrDefault(); return(_bestOrientator.CalculateTargets()); }