예제 #1
0
    protected override void onActiveUpdate()
    {
        if ((vessel != null) && !vessels.ContainsKey(vessel))
        {
            vessels[vessel] = new MuMechVariableEngineGroup();
        }
        if (vessels[vessel].controller == null)
        {
            vessels[vessel].controller = this;
            RenderingManager.AddToPostDrawQueue(3, new Callback(drawGUI));
        }
        if (!vessels[vessel].groups.ContainsKey(group))
        {
            vessels[vessel].groups[group] = start;
        }

        base.onActiveUpdate();
    }
예제 #2
0
    protected override void onFlightStart()
    {
        if (!vessels.ContainsKey(vessel))
        {
            vessels[vessel] = new MuMechVariableEngineGroup();
        }
        if (!vessels[vessel].groups.ContainsKey(group) || start)
        {
            vessels[vessel].groups[group] = start;
        }

        if (!gotGimbalOrig)
        {
            nozzle = transform.Find("model/obj_gimbal/nozzle");
            if (nozzle == null)
            {
                nozzle = transform.Find("model/obj_gimbal");
            }
            if (nozzle != null)
            {
                origGimbalPos = nozzle.localPosition;
                gotGimbalOrig = true;
            }
        }
        if (gotGimbalOrig)
        {
            if (state == PartStates.ACTIVE)
            {
                nozzle.localPosition = origGimbalPos;
                nozzleProgress       = nozzleExtensionTime;
            }
            else
            {
                nozzle.localPosition = origGimbalPos + nozzleAxis.normalized * nozzleExtension;
                nozzleProgress       = 0;
            }
        }

        base.onFlightStart();

        fuelSource = this;
    }
예제 #3
0
    protected override void onFlightStart()
    {
        if (!vessels.ContainsKey(vessel))
        {
            vessels[vessel] = new MuMechVariableEngineGroup();
        }
        if (!vessels[vessel].groups.ContainsKey(group) || start)
        {
            vessels[vessel].groups[group] = start;
        }

        if (!gotGimbalOrig)
        {
            nozzle = transform.Find("model/obj_gimbal/nozzle");
            if (nozzle == null)
            {
                nozzle = transform.Find("model/obj_gimbal");
            }
            if (nozzle != null)
            {
                origGimbalPos = nozzle.localPosition;
                gotGimbalOrig = true;
            }
        }
        if (gotGimbalOrig)
        {
            if (state == PartStates.ACTIVE)
            {
                nozzle.localPosition = origGimbalPos;
                nozzleProgress = nozzleExtensionTime;
            }
            else
            {
                nozzle.localPosition = origGimbalPos + nozzleAxis.normalized * nozzleExtension;
                nozzleProgress = 0;
            }
        }

        base.onFlightStart();

        fuelSource = this;
    }
예제 #4
0
    protected override void onActiveUpdate()
    {
        if ((vessel != null) && !vessels.ContainsKey(vessel))
        {
            vessels[vessel] = new MuMechVariableEngineGroup();
        }
        if (vessels[vessel].controller == null)
        {
            vessels[vessel].controller = this;
            RenderingManager.AddToPostDrawQueue(3, new Callback(drawGUI));
        }
        if (!vessels[vessel].groups.ContainsKey(group))
        {
            vessels[vessel].groups[group] = start;
        }

        base.onActiveUpdate();
    }