public static TransitIcon CreateDepartIcon(PositionDB targetPosition)
        {
            var icon = new TransitIcon(targetPosition);

            icon.CreateCheverons(0, 11);
            return(icon);
        }
        public static TransitIcon CreateArriveIcon(PositionDB targetPosition)
        {
            var icon = new TransitIcon(targetPosition);

            icon.CreateCheverons(0, -13);
            return(icon);
        }
        void Setup()
        {
            _movingEntityCurrentOrbit = _movingEntity.GetDataBlob <OrbitDB>();
            _transitLeaveDateTime     = _currentDateTime;

            _parentPositionDB = _movingEntityCurrentOrbit.Parent.GetDataBlob <PositionDB>();
            _departIcon       = TransitIcon.CreateDepartIcon(_parentPositionDB);
            OnPhysicsUpdate();
        }
        public void SetArrivalTarget(Entity targetEntity)
        {
            _targetEntity     = targetEntity;
            _targetPositionDB = _targetEntity.GetDataBlob <PositionDB>();

            _arriveIcon = TransitIcon.CreateArriveIcon(_targetPositionDB);
            //these are ralitive to thier respective bodies, for the initial default, copying the position shoul be fine.
            //however a better default would djust the distance from the target to get a circular orbit and
            //check if it's above minimum and that the resulting orbit is within soi
            _arriveIcon.ProgradeAngle = _departIcon.ProgradeAngle;
            OnPhysicsUpdate();
        }