// Circularize button
    public void Circularize()
    {
        NBody centerNBody = shipOrbitPredictor.centerBody.GetComponent <NBody>();

        transferCalc = new TransferCalc(spaceshipCtrl.GetNBody(), null, centerNBody);
        spaceshipCtrl.SetTransfer(transferCalc.Circularize());
        SetState(State.MANEUVER);
    }
示例#2
0
    private void CalculateTransfers()
    {
        // Find xfer choices and present to user
        transferCalc = new TransferCalc(spaceship.GetNBody(), target, centralMass);
        transfers    = transferCalc.FindTransfers();
        orbitSelectionPanel.Clear();
        int count = 0;

        foreach (OrbitTransfer t in transfers)
        {
            // need a new variable for each lambda
            int _count = count++;
            orbitSelectionPanel.AddButton(t.ToString(), () => OrbitSelected(_count));
        }
    }
    private void CalculateTransfers()
    {
        // Find xfer choices and present to user
        transferCalc = new TransferCalc(spaceshipCtrl.GetNBody(), target, centralMass);
        bool rendezvous = true;
        List <OrbitTransfer> transfers = transferCalc.FindTransfers(rendezvous);

        orbitUIWidgets.Clear();
        foreach (OrbitTransfer transfer in transfers)
        {
            GameObject uiWidget = orbitXferUIFactory.GetUIWidget(transfer, this);
            if (uiWidget != null)
            {
                uiWidget.transform.SetParent(orbitSelectionPanel.transform);
                orbitUIWidgets.Add(uiWidget);
            }
        }
    }