Ejemplo n.º 1
0
        private void setupBlades()
        {
            List <GameObject> newBlades = new List <GameObject>();

            propTweak = part.GetComponent <engine.FSpropellerTweak>();
            if (propTweak != null)
            {
                propTweak.initialize();

                newBlades = propTweak.blades;
            }
            else
            {
                Transform[] newBladeTransforms = part.FindModelTransforms(bladeHubName);
                for (int i = 0; i < newBladeTransforms.Length; i++)
                {
                    newBlades.Add(newBladeTransforms[i].gameObject);
                }
            }
            bladeLifts.Clear();

            foreach (GameObject blade in newBlades)
            {
                FSbladeLiftSurface bladeLift = blade.AddComponent <FSbladeLiftSurface>();
                if (bladeLift != null)
                {
                    bladeLift.thisGameObject         = blade;
                    bladeLift.liftTransformName      = liftTransformName;
                    bladeLift.referenceTransformName = referenceTransformName;
                    bladeLift.power = power;
                    if (propTweak == null)
                    {
                        bladeLift.span     = span;
                        bladeLift.wingArea = wingArea;
                    }
                    else
                    {
                        bladeLift.span     = span * propTweak.bladeLengthSlider;
                        bladeLift.wingArea = wingArea * propTweak.bladeLengthSlider;
                    }
                    bladeLift.efficiency     = efficiency;
                    bladeLift.dragMultiplier = dragMultiplier;
                    bladeLift.zeroLiftDrag   = zeroLiftDrag;
                    bladeLift.part           = part;
                    bladeLift.debugMode      = debugMode;

                    bladeLift.initialize();
                    bladeLifts.Add(bladeLift);
                }
                debugB.debugMessage(bladeLifts.Count.ToString() + " blades added to bladeLifts");
            }
        }
Ejemplo n.º 2
0
        private void setupBlades()
        {
            List<GameObject> newBlades = new List<GameObject>();
            propTweak = part.GetComponent<engine.FSpropellerTweak>();
            if (propTweak != null)
            {                
                propTweak.initialize();
                
                newBlades = propTweak.blades;
            }
            else
            {
                Transform[] newBladeTransforms = part.FindModelTransforms(bladeHubName);
                for (int i = 0; i < newBladeTransforms.Length; i++)
                {
                    newBlades.Add(newBladeTransforms[i].gameObject);
                }
            }
            bladeLifts.Clear();

            foreach (GameObject blade in newBlades)
            {
                FSbladeLiftSurface bladeLift = blade.AddComponent<FSbladeLiftSurface>();
                if (bladeLift != null)
                {
                    bladeLift.thisGameObject = blade;
                    bladeLift.liftTransformName = liftTransformName;
                    bladeLift.referenceTransformName = referenceTransformName;
                    bladeLift.power = power;
                    if (propTweak == null)
                    {
                        bladeLift.span = span;
                        bladeLift.wingArea = wingArea;
                    }
                    else
                    {
                        bladeLift.span = span * propTweak.bladeLengthSlider;
                        bladeLift.wingArea = wingArea * propTweak.bladeLengthSlider;
                    }
                    bladeLift.efficiency = efficiency;
                    bladeLift.dragMultiplier = dragMultiplier;
                    bladeLift.zeroLiftDrag = zeroLiftDrag;
                    bladeLift.part = part;
                    bladeLift.debugMode = debugMode;

                    bladeLift.initialize();
                    bladeLifts.Add(bladeLift);
                }
                debugB.debugMessage(bladeLifts.Count.ToString() + " blades added to bladeLifts");
            }            
        }