Exemplo n.º 1
0
 public override void OnStart(PartModule.StartState state)
 {
     base.OnStart(state);
     if (usesDeployAnimation == 1)
     {
         deployAnimation = part.Modules.OfType <FSanimateGeneric>().FirstOrDefault();
     }
     engine          = part.Modules.OfType <ModuleEngines>().FirstOrDefault();
     atmosphericNerf = part.Modules.OfType <FSpropellerAtmosphericNerf>().FirstOrDefault();
     if (rotorparent != "")
     {
         RotorParent     = part.FindModelTransform(rotorparent);
         spinRotorObject = true;
     }
     else
     {
         spinRotorObject = false;
     }
 }
Exemplo n.º 2
0
 public override void OnStart(PartModule.StartState state)
 {
     base.OnStart(state);
     if (usesDeployAnimation == 1)
     {
         deployAnimation = part.Modules.OfType<FSanimateGeneric>().FirstOrDefault();
     }
     engine = part.Modules.OfType<ModuleEngines>().FirstOrDefault();
     atmosphericNerf = part.Modules.OfType<FSpropellerAtmosphericNerf>().FirstOrDefault();
     if (rotorparent != "")
     {
         RotorParent = part.FindModelTransform(rotorparent);
         spinRotorObject = true;
     }
     else
     {
         spinRotorObject = false;
     }
 }
        public override void OnStart(PartModule.StartState state)
        {
            base.OnStart(state);

            if (engineID == String.Empty || engineID == "")
            {
                engine = new Firespitter.engine.FSengineWrapper(part);
            }
            else
            {
                engine = new Firespitter.engine.FSengineWrapper(part, engineID);
            }

            if (engine.type == FSengineWrapper.EngineType.FSengine)
            {
                rotationSpeed = engine.fsengine.maxRPM;
            }

            propeller = part.FindModelTransform(propellerName);

            if (engine != null)
            {
                maxThrust = engine.maxThrust;
            }

            if (maxThrust <= 0f) // to avoid division by zero
            {
                maxThrust = 50f;
            }

            //assign blade meshes so they gan be hidden
            if (useRotorDiscSwap == 1)
            {
                if (duplicatedBlades)
                {
                    blurObjects = part.FindModelTransforms(rotorDiscName);
                    Transform[] bladeTransforms = part.FindModelTransforms(blade1);
                    for (int i = 0; i < bladeTransforms.Length; i++)
                    {
                        bladeObjects.Add(bladeTransforms[i].gameObject);
                    }
                }
                else
                {
                    rotorDisc = part.FindModelTransform(rotorDiscName);
                    if (rotorDisc != null)
                    {
                        rotorDisc.gameObject.GetComponent <Renderer>().enabled = false;

                        if (blade1 != "")
                        {
                            bladeNames.Add(blade1);
                        }
                        if (blade2 != "")
                        {
                            bladeNames.Add(blade2);
                        }
                        if (blade3 != "")
                        {
                            bladeNames.Add(blade3);
                        }
                        if (blade4 != "")
                        {
                            bladeNames.Add(blade4);
                        }
                        if (blade5 != "")
                        {
                            bladeNames.Add(blade5);
                        }
                        if (blade6 != "")
                        {
                            bladeNames.Add(blade6);
                        }

                        for (int i = 0; i < bladeNames.Count; i++)
                        {
                            try
                            {
                                bladeObjects.Add(part.FindModelTransform(bladeNames[i]).gameObject);
                            }
                            catch
                            {
                                Log.info("FSplanePropellerSpinner: Unable to find blade called {0}, disabling swap", bladeNames[i]);
                                useRotorDiscSwap = 0;
                            }
                        }
                    }
                    else
                    {
                        Log.info("FSplanePropellerSpinner: Unable to find rotor disc {0}, disabling swap", rotorDiscName);
                        useRotorDiscSwap = 0;
                    }
                }

                setBladeRendererState(true);
            }

            if (usesDeployAnimation)
            {
                deployAnimation = part.Modules.OfType <FSanimateGeneric>().FirstOrDefault();
            }
        }
        public override void OnStart(PartModule.StartState state)
        {
            base.OnStart(state);

            if (engineID == String.Empty || engineID == "")
                engine = new Firespitter.engine.FSengineWrapper(part);
            else
                engine = new Firespitter.engine.FSengineWrapper(part, engineID);

            if (engine.type == FSengineWrapper.EngineType.FSengine)
            {
                rotationSpeed = engine.fsengine.maxRPM;
            }

            propeller = part.FindModelTransform(propellerName);

            if (engine != null)
            {
                maxThrust = engine.maxThrust;
            }

            if (maxThrust <= 0f) // to avoid division by zero
            {
                maxThrust = 50f;
            }

            //assign blade meshes so they gan be hidden
            if (useRotorDiscSwap == 1)
            {
                if (duplicatedBlades)
                {
                    blurObjects = part.FindModelTransforms(rotorDiscName);
                    Transform[] bladeTransforms = part.FindModelTransforms(blade1);
                    for (int i = 0; i < bladeTransforms.Length; i++)
                    {
                        bladeObjects.Add(bladeTransforms[i].gameObject);
                    }
                }
                else
                {
                    rotorDisc = part.FindModelTransform(rotorDiscName);
                    if (rotorDisc != null)
                    {
                        rotorDisc.gameObject.GetComponent<Renderer>().enabled = false;

                        if (blade1 != "")
                            bladeNames.Add(blade1);
                        if (blade2 != "")
                            bladeNames.Add(blade2);
                        if (blade3 != "")
                            bladeNames.Add(blade3);
                        if (blade4 != "")
                            bladeNames.Add(blade4);
                        if (blade5 != "")
                            bladeNames.Add(blade5);
                        if (blade6 != "")
                            bladeNames.Add(blade6);

                        for (int i = 0; i < bladeNames.Count; i++)
                        {
                            try
                            {
                                bladeObjects.Add(part.FindModelTransform(bladeNames[i]).gameObject);
                            }
                            catch
                            {
                                Debug.Log("FSplanePropellerSpinner: Unable to find blade called " + bladeNames[i] + ", disabling swap");
                                useRotorDiscSwap = 0;
                            }
                        }
                    }
                    else
                    {
                        Debug.Log("FSplanePropellerSpinner: Unable to find rotor disc " + rotorDiscName + ", disabling swap");
                        useRotorDiscSwap = 0;
                    }
                }

                setBladeRendererState(true);
            }

            if (usesDeployAnimation)
            {
                deployAnimation = part.Modules.OfType<FSanimateGeneric>().FirstOrDefault();
            }
        }
    public override void OnStart(PartModule.StartState state)
    {
        base.OnStart(state);
        engine    = part.Modules.OfType <ModuleEngines>().FirstOrDefault();
        propeller = part.FindModelTransform(propellerName);

        if (engine != null)
        {
            maxThrust = engine.maxThrust;
        }
        if (maxThrust <= 0f) // to avoid division by zero
        {
            maxThrust = 50f;
        }

        //assign blade meshes so they gan be hidden
        if (useRotorDiscSwap == 1)
        {
            rotorDisc = part.FindModelTransform(rotorDiscName);
            if (rotorDisc != null)
            {
                rotorDisc.gameObject.renderer.enabled = false;

                if (blade1 != "")
                {
                    bladeNames.Add(blade1);
                }
                if (blade2 != "")
                {
                    bladeNames.Add(blade2);
                }
                if (blade3 != "")
                {
                    bladeNames.Add(blade3);
                }
                if (blade4 != "")
                {
                    bladeNames.Add(blade4);
                }
                if (blade5 != "")
                {
                    bladeNames.Add(blade5);
                }
                if (blade6 != "")
                {
                    bladeNames.Add(blade6);
                }

                for (int i = 0; i < bladeNames.Count; i++)
                {
                    try
                    {
                        bladeObjects.Add(part.FindModelTransform(bladeNames[i]).gameObject);
                    }
                    catch
                    {
                        Debug.Log("FSplanePropellerSpinner: Unable to find blade called " + bladeNames[i] + ", disabling swap");
                        useRotorDiscSwap = 0;
                    }
                }
            }
            else
            {
                Debug.Log("FSplanePropellerSpinner: Unable to find rotor disc " + rotorDiscName + ", disabling swap");
                useRotorDiscSwap = 0;
            }
        }

        if (usesDeployAnimation)
        {
            deployAnimation = part.Modules.OfType <FSanimateGeneric>().FirstOrDefault();
        }
    }
    public override void OnStart(PartModule.StartState state)
    {
        base.OnStart(state);
        engine = part.Modules.OfType<ModuleEngines>().FirstOrDefault();
        propeller = part.FindModelTransform(propellerName);

        if (engine != null)
        {
            maxThrust = engine.maxThrust;
        }
        if (maxThrust <= 0f) // to avoid division by zero
        {
            maxThrust = 50f;
        }

        //assign blade meshes so they gan be hidden
        if (useRotorDiscSwap == 1)
        {
            rotorDisc = part.FindModelTransform(rotorDiscName);
            if (rotorDisc != null)
            {
                rotorDisc.gameObject.renderer.enabled = false;

                if (blade1 != "")
                    bladeNames.Add(blade1);
                if (blade2 != "")
                    bladeNames.Add(blade2);
                if (blade3 != "")
                    bladeNames.Add(blade3);
                if (blade4 != "")
                    bladeNames.Add(blade4);
                if (blade5 != "")
                    bladeNames.Add(blade5);
                if (blade6 != "")
                    bladeNames.Add(blade6);

                for (int i = 0; i < bladeNames.Count; i++)
                {
                    try
                    {
                        bladeObjects.Add(part.FindModelTransform(bladeNames[i]).gameObject);
                    }
                    catch
                    {
                        Debug.Log("FSplanePropellerSpinner: Unable to find blade called " + bladeNames[i] + ", disabling swap");
                        useRotorDiscSwap = 0;
                    }
                }
            }
            else
            {
                Debug.Log("FSplanePropellerSpinner: Unable to find rotor disc " + rotorDiscName + ", disabling swap");
                useRotorDiscSwap = 0;
            }
        }

        if (usesDeployAnimation)
        {
            deployAnimation = part.Modules.OfType<FSanimateGeneric>().FirstOrDefault();
        }
    }