Exemplo n.º 1
0
        void EntitySelected()
        {
            OrderingEntity    = _state.LastClickedEntity;
            _orderEntityOrbit = OrderingEntity.Entity.GetDataBlob <OrbitDB>();

            CurrentState             = States.NeedsTarget;
            _massCurrentBody         = _orderEntityOrbit.Parent.GetDataBlob <MassVolumeDB>().Mass;
            _massOrderingEntity      = OrderingEntity.Entity.GetDataBlob <MassVolumeDB>().Mass;
            _stdGravParamCurrentBody = GameConstants.Science.GravitationalConstant * (_massCurrentBody + _massOrderingEntity) / 3.347928976e33;
            if (_moveWidget == null)
            {
                _moveWidget = new TranslateMoveOrderWidget(_state, OrderingEntity.Entity);
                _state.SelectedSysMapRender.UIWidgets.Add(nameof(_moveWidget), _moveWidget);
            }
            DepartureCalcs();

            //debug code:
            var sgpCur        = _orderEntityOrbit.GravitationalParameterAU;
            var ralitiveVel1  = OrbitProcessor.InstantaneousOrbitalVelocityVector(_orderEntityOrbit, _departureDateTime);
            var ralPosCBAU    = OrderingEntity.Entity.GetDataBlob <PositionDB>().RelativePosition_AU;
            var smaCurrOrbtAU = _orderEntityOrbit.SemiMajorAxis;
            //var ralitiveVel2 = OrbitMath.PreciseOrbitalVelocityVector(_stdGravParamCurrentBody, ralPosCBAU, smaCurrOrbtAU, _orderEntityOrbit.Eccentricity, _orderEntityOrbit.LongitudeOfAscendingNode + _orderEntityOrbit.ArgumentOfPeriapsis);
        }