• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# PartModule类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中PartModule的典型用法代码示例。如果您正苦于以下问题:C# PartModule类的具体用法?C# PartModule怎么用?C# PartModule使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PartModule类属于命名空间,在下文中一共展示了PartModule类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: OnStart

 public override void OnStart(PartModule.StartState state)
 {
     base.OnStart(state);
     engine = part.Modules.OfType<ModuleEngines>().FirstOrDefault();
     intake = part.Modules.OfType<ModuleResourceIntake>().FirstOrDefault();
     toggleMenuItems(false);
 }
开发者ID:vosechu,项目名称:Firespitter,代码行数:7,代码来源:FSengineMenuCleaner.cs


示例2: OnStart

 public override void OnStart(PartModule.StartState state)
 {
     SimManager.UpdateModSettings();
     SimManager.OnReady -= this.GetStageInfo;
     SimManager.OnReady += this.GetStageInfo;
     base.OnAwake();
 }
开发者ID:bruchpilotxxl,项目名称:MechJeb2,代码行数:7,代码来源:MechJebModuleStageStats.cs


示例3: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            double time_diff = lastActiveTime - Planetarium.GetUniversalTime();

            if (state == StartState.Editor)
                return;

            if (part.Resources.Contains(resourceName))
                decay_resource = part.Resources[resourceName];
            else
            {
                decay_resource = null;
                return;
            }

            resourceDefinitionsContainDecayProduct = PartResourceLibrary.Instance.resourceDefinitions.Contains(decayProduct);
            if (resourceDefinitionsContainDecayProduct)
                density_rat = decay_resource.info.density / PartResourceLibrary.Instance.GetDefinition(decayProduct).density;

            if (decay_resource != null && time_diff > 0)
            {
                double n_0 = decay_resource.amount;
                decay_resource.amount = n_0 * Math.Exp(-decayConstant * time_diff);
                double n_change = n_0 - decay_resource.amount;

                if (resourceDefinitionsContainDecayProduct)
                    ORSHelper.fixedRequestResource(part, decayProduct, -n_change * density_rat);
            }
        }
开发者ID:Kerbas-ad-astra,项目名称:KSPInterstellar,代码行数:29,代码来源:ModuleElementRadioactiveDecay.cs


示例4: OnStart

 public override void OnStart(PartModule.StartState state)
 {
     Flap = part.FindModelTransform(flapTransform);
     cachedRenderer = Flap.gameObject.GetComponent<Renderer>();
     if (FlapActive != false)
         ToggleFlaps();
 }
开发者ID:Crzyrndm,项目名称:ProceduralWings,代码行数:7,代码来源:FlapToggler.cs


示例5: OnStart

 public override void OnStart(PartModule.StartState state)
 {
     base.OnStart(state);
     if (HighLogic.LoadedSceneIsFlight) {
         sensorInt = sensorTypeInt(sensorType);
         Fields["readoutInfo"].guiName = guiReadout(sensorInt);
         //Assign transforms for all of the indicator needles, etc.. for each part type
         if (sensorInt == 1 || sensorInt == 2 || sensorInt == 3)
             indicator = part.FindModelTransform(sensorType);
         if (sensorInt == 3)
             indicatorPosition = indicator.localPosition;
         if (sensorInt == 4) {
             rotor1 = part.FindModelTransform(sensorType + "_000");
             rotor2 = part.FindModelTransform(sensorType + "_001");
             rotor3 = part.FindModelTransform(sensorType + "_002");
             tilt1 = part.FindModelTransform(sensorType + "_003");
         }
         //Prevent multiple modules from interfering with each other
         if (primary) {
             modList = this.part.FindModulesImplementing<DMEnviroSensor>();
             if (modList.Count > 1) {
                 modList[0].Events["toggleSensor"].active = true;
                 modList[1].Events["toggleSensor"].active = false;
             }
         }
     }
 }
开发者ID:kenjinsama,项目名称:Orbital-Science,代码行数:27,代码来源:DMEnviroSensor.cs


示例6: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            DragManager = part.gameObject.GetComponent<DragManager>();

            if (DragManager == null) {
                DragManager = part.gameObject.AddComponent<DragManager>();
                DragManager.SetPart(part);
            }

            anim = part.FindModelAnimators(AnimationName)[0];
            animState = anim[AnimationName];
            animState.wrapMode = WrapMode.Clamp;

            if (FixAnimLayers) {
                int i = 0;
                foreach (AnimationState s in anim)
                    s.layer = i++;
            }

            animState.normalizedSpeed = 0;
            if (engaged) {
                animState.normalizedTime = Drag / 100;
                spoilerState = ModuleLandingGear.GearStates.DEPLOYED;
            }
            else {
                animState.normalizedTime = 0;
                spoilerState = ModuleLandingGear.GearStates.RETRACTED;
            }
            anim.Play(AnimationName);
        }
开发者ID:JDPKSP,项目名称:AdvAeronautics,代码行数:30,代码来源:ModuleSpoiler.cs


示例7: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            this.part.force_activate();
            animator = part.Modules.OfType<IExtractorAnimator>().SingleOrDefault();

            if (animator == null)
            {
                animator = new DefaultExtractorAnimator();
            }
            else
            {
                Events["DeployDrill"].guiActiveEditor = true;
                Events["RetractDrill"].guiActiveEditor = true;
            }

            headTransform = this.part.FindModelTransform(HeadTransform);
            tailTransform = this.part.FindModelTransform(TailTransform);

            if (state == StartState.Editor) { return; }
            if (FlightGlobals.fetch == null) { return; }

            emitters = part.Modules.OfType<KethaneParticleEmitter>().ToArray();

            foreach (var emitter in emitters)
            {
                emitter.Setup();
                emitter.EmitterTransform.parent = headTransform;
                emitter.EmitterTransform.localRotation = Quaternion.identity;
            }
        }
开发者ID:Jaidan,项目名称:Kethane,代码行数:30,代码来源:KethaneExtractor.cs


示例8: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            base.OnStart(state);
            if (HighLogic.LoadedSceneIsFlight && !Equals(vessel.vesselType, VesselType.Debris) && vessel.parts.Count > 1)
            {
                GameEvents.onGamePause.Add(new EventVoid.OnEvent(this.OnPause));
                GameEvents.onGameUnpause.Add(new EventVoid.OnEvent(this.OnUnPause));
                KFMW = this.part.GetComponentInChildren<KFModuleWheel>();
                if (!Equals(KFMW, null))
                    tweakScaleCorrector = KFMW.tweakScaleCorrector;
                KFLog.Warning(string.Format("TS Corrector: {0}", tweakScaleCorrector));

                colliderList = Extensions.SplitString(colliderNames);

                for (int i = 0; i < colliderList.Count(); i++)
                {
                    colliders.Add(transform.SearchStartsWith(colliderList[i]).GetComponent<WheelCollider>());
                    objectCount++;
                }
                susTrav = transform.SearchStartsWith(susTravName);

                initialPosition = susTrav.localPosition;
                susTravIndex = Extensions.SetAxisIndex(susTravAxis);

                MoveSuspension(susTravIndex, -lastFrameTraverse, susTrav); //to get the initial stuff correct
                if (objectCount > 0)
                {
                    //KFLog.Error(string.Format("lastFrameTraverse {0}", lastFrameTraverse));
                    StartCoroutine("WaitAndStart");
                }
                else
                    KFLog.Error("KFSuspension not configured correctly");
            }
        }
开发者ID:Kerbas-ad-astra,项目名称:KF_plugin,代码行数:34,代码来源:KFSuspension.cs


示例9: OnStart

		public override void OnStart(PartModule.StartState state) 
        {
            antimatter = part.Resources[InterstellarResourcesConfiguration.Instance.Antimatter];

            if (state == StartState.Editor) return;
            this.part.force_activate();
		}
开发者ID:Yitscar,项目名称:KSPInterstellar,代码行数:7,代码来源:AntimatterStorageTank.cs


示例10: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            base.OnStart(state); // sets up the animation etc.
            stateCount = heatAnimStates.Length;

            SetDefaults();
        }
开发者ID:Kerbas-ad-astra,项目名称:SolverEngines,代码行数:7,代码来源:ModuleAnimateEmissive.cs


示例11: IntegratedIntakeEngineCrossSectionAdjuster

        public IntegratedIntakeEngineCrossSectionAdjuster(PartModule intake, Matrix4x4 worldToVesselMatrix)
        {
            this.part = intake.part;
            intakeModule = intake as ModuleResourceIntake;
            intakeTrans = intakeModule.intakeTransform;
            //ModuleResourceIntake intake = intake;


            /*vehicleBasisForwardVector = Vector3.forward;//intakeTrans.forward;

            foreach(AttachNode node in part.attachNodes)
                if(node.nodeType == AttachNode.NodeType.Stack && Vector3.Dot(node.position, (part.transform.worldToLocalMatrix * intakeTrans.localToWorldMatrix).MultiplyVector(Vector3.forward)) > 0)
                {
                    frontNode = node;
                    break;
                }*/

            thisToVesselMatrix = worldToVesselMatrix * intakeTrans.localToWorldMatrix;

            vehicleBasisForwardVector = Vector3.forward;
            vehicleBasisForwardVector = thisToVesselMatrix.MultiplyVector(vehicleBasisForwardVector);

            Type intakeType = intake.GetType();
            intakeArea = (float)intakeType.GetField("Area").GetValue(intake);
        }
开发者ID:sarbian,项目名称:Ferram-Aerospace-Research,代码行数:25,代码来源:IntegratedIntakeEngineCrossSectionAdjuster.cs


示例12: FromComponent

        public static KISInventoryModuleWrapper FromComponent(PartModule component)
        {
            if (component != null)
                return new KISInventoryModuleWrapper(component);

            return null;
        }
开发者ID:zerosofadown,项目名称:Agile.Ksp,代码行数:7,代码来源:KISInventoryModuleWrapper.cs


示例13: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            if (CloseAnimationName != "")
            {

                openAnim = true;
            }
            if (LoopAnimationName != "")
            {
                loopAnim = true;
            }
            if (HighLogic.LoadedSceneIsFlight)
            {
                intake = gameObject.GetComponent<ModuleResourceIntake>();
                if (intake == null)
                {
                    Utils.LogError("AnimatedIntake requires an intake module!");
                    return;
                }
                if (openAnim)
                {
                    Utils.Log("Setting up close animation");
                    openStates = Utils.SetUpAnimation(CloseAnimationName, this.part);
                }
                if (loopAnim)
                {
                    Utils.Log("Setting up loop animation");
                    loopStates = Utils.SetUpAnimation(LoopAnimationName, this.part);
                }

            }
        }
开发者ID:Kerbas-ad-astra,项目名称:AnimatedIntakes,代码行数:32,代码来源:AnimatedIntake.cs


示例14: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            if (state == StartState.Editor) { return; }

            if (telescopeInit == false || lastMaintained == 0)
            {
                telescopeInit = true;
                lastMaintained = (float)Planetarium.GetUniversalTime();
            }

            if (telescopeIsEnabled && lastActiveTime > 0)
            {
                calculateTimeToHeliumDepletion();

                double t0 = lastActiveTime - lastMaintained;
                double t1 = Math.Min(Planetarium.GetUniversalTime(), helium_depleted_time) - lastMaintained;
                if (t1 > t0)
                {
                    double a = -GameConstants.telescopePerformanceTimescale;
                    double base_science = dpo ? GameConstants.telescopeGLensScience : GameConstants.telescopeBaseScience;
                    double time_diff = Math.Min(Planetarium.GetUniversalTime(), helium_depleted_time) - lastActiveTime;
                    double avg_science_rate = 0.5*base_science * ( Math.Exp(a * t1)  + Math.Exp(a * t0) );
                    double science_to_add = avg_science_rate / 28800 * time_diff;
                    lastActiveTime = (float)Planetarium.GetUniversalTime();
                    science_awaiting_addition += (float)science_to_add;
                }
            }
        }
开发者ID:Neouni,项目名称:KSPInterstellar,代码行数:28,代码来源:InterstellarTelescope.cs


示例15: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            // Sync settings with the runtime
            this.StartCoroutine("RuntimeFetch");

            this.Events["TakeParts"].active = true;
        }
开发者ID:vzwick,项目名称:DangIt,代码行数:7,代码来源:SparesContainer.cs


示例16: OnStart

    public override void OnStart(PartModule.StartState state)
    {
        base.OnStart(state);
        if (!HighLogic.LoadedSceneIsFlight)
            return;

        modeList.Add(new mode(primaryModeRange.x, primaryModeRange.y));

        engine = part.Modules.OfType<ModuleEngines>().FirstOrDefault();
        if (engine != null)
        {

        }
        else
        {
            Debug.Log("FSanimateThrottle: no engine module found");
        }

        anim = part.FindModelAnimators(animationName).FirstOrDefault();
        if (anim != null)
        {
            animTime = 0f;
            anim[animationName].layer = animationLayer;
            anim[animationName].speed = 0f;
            anim[animationName].normalizedTime = 0f;
            anim[animationName].wrapMode = WrapMode.ClampForever;
        }
        else
        {
            Debug.Log("FSanimateThrottle: no animation found called " + animationName);
        }
    }
开发者ID:vosechu,项目名称:Firespitter,代码行数:32,代码来源:FSanimateThrottle.cs


示例17: OnStart

 public override void OnStart(PartModule.StartState state)
 {
     base.OnStart(state);
         engine = part.Modules.OfType<ModuleEngines>().FirstOrDefault();
        partTransform = part.FindModelTransform(thrustTransform);
         //maxThrust = engine.maxThrust;
 }
开发者ID:vosechu,项目名称:Firespitter,代码行数:7,代码来源:FStailRotorThrust.cs


示例18: OnStart

 public override void OnStart(PartModule.StartState state)
 {
     if (state != PartModule.StartState.None && state != PartModule.StartState.Editor)
     {
         RenderingManager.AddToPostDrawQueue(1, DoMapView);
     }
 }
开发者ID:JebDynamics,项目名称:MechJeb2,代码行数:7,代码来源:MechJebModuleLandingPredictions.cs


示例19: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            if (!HighLogic.LoadedSceneIsFlight && !HighLogic.LoadedSceneIsEditor) { return; }

            //In case of errors
            if (string.IsNullOrEmpty(this.animationName) || this.part.FindModelAnimators(this.animationName).Length <= 0)
            {
                Events.ForEach(e => e.active = false);
                Actions.ForEach(a => a.active = false);
                return;
            }

            //Initiates the animation
            InitiateAnimation();

            //Sets the action groups/part GUI
            BaseEvent  toggle = Events["GUIToggle"];
            BaseAction aEnable = Actions["ActionEnable"], aDisable = Actions["ActionDisable"], aToggle = Actions["ActionToggle"];

            toggle.guiActiveEditor = this.activeEditor;
            toggle.guiActive = this.activeFlight;
            toggle.guiActiveUnfocused = this.activeUnfocused;
            toggle.unfocusedRange = this.unfocusedRange;
            SetName();

            if (string.IsNullOrEmpty(this.actionEnableName)) { aEnable.active = false; }
            else { aEnable.guiName = this.actionEnableName; }

            if (string.IsNullOrEmpty(this.actionDisableName)) { aDisable.active = false; }
            else { aDisable.guiName = this.actionDisableName; }

            if (string.IsNullOrEmpty(this.actionToggleName)) { aToggle.active = false; }
            else { aToggle.guiName = this.actionToggleName; }
        }
开发者ID:Kerbas-ad-astra,项目名称:AdvancedAnimator,代码行数:34,代码来源:ModuleAnimator.cs


示例20: OnStart

        public override void OnStart(PartModule.StartState state)
        {
            FindDecoupler();

            if (decouple == null)
            {
                Debug.LogError("Unable to find any decoupler modules");
                isEnabled = enabled = false;
                return;
            }

            if (HighLogic.LoadedSceneIsEditor)
            {
                if (mass != 0)
                    UpdateMass(mass);

                Fields["isOmniDecoupler"].guiActiveEditor =
                    string.IsNullOrEmpty(separatorTechRequired) || ResearchAndDevelopment.GetTechnologyState(separatorTechRequired) == RDTech.State.Available;

                if (ejectionImpulse == 0)
                    ejectionImpulse = (float)Math.Round(decouple.ejectionForce * impulsePerForceUnit, 1);

                UI_FloatEdit ejectionImpulseEdit = (UI_FloatEdit)Fields["ejectionImpulse"].uiControlEditor;
                ejectionImpulseEdit.maxValue = maxImpulse;
            }
            else if (HighLogic.LoadedSceneIsFlight)
            {
                decouple.isOmniDecoupler = isOmniDecoupler;
                part.mass = mass;
            }
        }
开发者ID:vosechu,项目名称:ProceduralParts,代码行数:31,代码来源:DecouplerTweaker.cs



注:本文中的PartModule类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# PartResource类代码示例发布时间:2022-05-24
下一篇:
C# PartInfo类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap