public override void SimulateUpdateAlways_EnhancementEnable() { if (StatMaster.isClient) { return; } Debug.Log(hinge.targetPosition); Debug.Log(hinge.targetRotation); if (SwitchKey.IsPressed || SwitchKey.EmulationPressed()) { state = !state; Debug.Log("switch"); } if (/*Held*/ HeldToggle.IsActive) { if (SwitchKey.IsReleased) { state = !state; } } if (state != lastState) { lastState = state; if (state) { MakeCogStatic(); } else { MakeCogNormal(); } } }
public override void SimulateUpdateAlways_EnhancementEnable() { try { if (!effected) { if (AddSpeedKey.IsPressed || AddSpeedKey.EmulationPressed()) { Speed += ChangeSpeedValue.Value; lastSpeed = Speed; } if (ReduceSpeedKey.IsPressed || ReduceSpeedKey.EmulationPressed()) { Speed -= ChangeSpeedValue.Value; lastSpeed = Speed; } } } catch { } if (toggleToggle.IsActive) { if (effectKey.IsPressed || effectKey.EmulationPressed()) { effected = !effected; setValue(); } } else { if (effectKey.IsHeld || effectKey.EmulationHeld()) { effected = true; } else { effected = false; } setValue(); } void setValue() { Speed = effected ? 0f : lastSpeed; if (dragTogetherToggle.IsActive) { var rigi = GetComponent <Rigidbody>(); rigi.drag = effected ? 0f : defaultDrag; rigi.angularDrag = effected ? 0f : defaultAngularDrag; } } }
public override void SimulateUpdateAlways_EnhancementEnable() { if (playKey.IsPressed || playKey.EmulationPressed()) { if (!oneShotToggle.IsActive) { if (audioSource.time == 0 && !audioSource.isPlaying) { audioSource.Play(); } else if (audioSource.time > 0 && audioSource.isPlaying) { audioSource.Pause(); } else if (audioSource.time > 0 && !audioSource.isPlaying) { audioSource.UnPause(); } } else { audioSource.PlayOneShot(audioSource.clip); } } if (stopKey.IsPressed || stopKey.EmulationPressed()) { audioSource.Stop(); } if (muteKey.IsPressed || muteKey.EmulationPressed()) { audioSource.mute = !audioSource.mute; } if (playKey.IsReleased) { if (releaseToPauseToggle.IsActive) { audioSource.Pause(); } if (releaseToStopToggle.IsActive) { audioSource.Stop(); } } }
public override void SimulateUpdateAlways() { if ((launch_key.IsPressed || launch_key.EmulationPressed()) && !rocketScript.Launched) { rocketScript.LaunchEnabled = true; if (StatMaster.isHosting) { var message = LaunchMessage.CreateMessage(BlockBehaviour, rocketScript.Guid.ToString()); ModNetworking.SendToAll(message); } } if (healthBar.health <= 0 && isExploded == false) { rocketScript.Explody(); } }
public override void SimulateUpdateAlways_EnhancementEnable() { if (StatMaster.isClient) { return; } if (SwitchKey.IsPressed || SwitchKey.EmulationPressed()) { //Effect = !Effect; EffectToggle.IsActive = !EffectToggle.IsActive; SetVelocityCap(/*Effect*/ EffectToggle.IsActive); } if (!/*Toggle*/ ToggleToggle.IsActive) { if (SwitchKey.IsReleased || SwitchKey.EmulationReleased()) { //Effect = !Effect; EffectToggle.IsActive = !EffectToggle.IsActive; SetVelocityCap(/*Effect*/ EffectToggle.IsActive); } } if (/*LiftIndicator*/ LiftIndicatorToggle.IsActive) { ////模拟速度向量转换到升力模块的坐标 //AD.xyz = Vector3.Scale(AD.Rigidbody.transform.InverseTransformDirection(SettingWindow.simulateVelocity_Vector), ad.AxisDrag); ////计算模拟速度向量模的平方 //ad.currentVelocitySqr = Mathf.Min(SettingWindow.simulateVelocity_Vector.sqrMagnitude, GetComponent<BlockBehaviour>().GetBlockID() == (int)BlockType.Wing ? 100 : 900); if (ConfigurableJoint != null) { liftVector = AD.Rigidbody.transform.TransformVector(AD.xyz * AD.currentVelocitySqr); LR.SetPosition(0, transform.TransformPoint(AD.Rigidbody.centerOfMass)); LR.SetPosition(1, transform.TransformPoint(AD.Rigidbody.centerOfMass) + liftVector); } else { LR.enabled = false; } } }
public override void SimulateUpdateAlways_EnhancementEnable() { base.SimulateUpdateAlways_EnhancementEnable(); if (channelIndex < 0) { return; } if (changeChannelKey.IsPressed || changeChannelKey.EmulationPressed()) { if (++channelIndex > channelList.Count - 1) { channelIndex = 0; } stickToCamera(channelIndex); } if (switchKey.IsPressed || switchKey.EmulationPressed()) { mr.enabled = !mr.enabled; } }
public override void SimulateUpdateAlways_EnhancementEnable() { if (gameObject.activeInHierarchy) { if (!GroupFireKey.Ignored) { if ((GroupFireKey.IsHeld || GroupFireKey.EmulationHeld()) && !StatMaster.isClient) { if (!RocketsController.Instance.launchStarted) { StartCoroutine(RocketsController.Instance.LaunchRocketFromGroup(rocket.ParentMachine.PlayerID, GroupFireKey.GetKey(0))); } } } if (radar != null) { if (!StatMaster.isClient) { radar.Switch = rocket.hasFired; } if (GuidedRocketToggle.IsActive) { //When toggle auto aim key is released, change the auto aim status if (ManualOverrideKey.IsReleased || ManualOverrideKey.EmulationReleased()) { if (radar.RadarType == RadarScript.RadarTypes.ActiveRadar) { //radar.meshRenderer.enabled = radar.canBeOverridden && ShowRadarToggle.IsActive && radar.Switch; radar.DisplayRadarZone = radar.canBeOverridden && ShowRadarToggle.IsActive && radar.Switch; //radar.meshCollider.enabled = radar.canBeOverridden && radar.Switch; radar.canBeOverridden = !radar.canBeOverridden; if (!radar.canBeOverridden) { radar.ClearTarget(false); } } } if (LockTargetKey.IsPressed || LockTargetKey.EmulationPressed()) { if (radar.RadarType == RadarScript.RadarTypes.ActiveRadar) { if (radar.canBeOverridden) { radar.SetTargetManual(); } else { //保留重新搜索目标的能力 radar.ClearTarget(false); } } } } } if (rocket.hasFired) { //Let rocket controller know the rocket is fired SendRocketFired(); if (!rocket.hasExploded) { if (GuidedRocketToggle.IsActive) { //Activate aerodynamic effect guideController.enableAerodynamicEffect = StabilityToggle.IsActive; //Record the launch time for the guide delay if (!launchTimeRecorded) { launchTimeRecorded = true; launchTime = Time.time; } //Rocket can be triggered after the time elapsed after firing is greater than guide delay if (Time.time - launchTime >= GuideDelaySlider.Value + 0.15f && TorqueSlider.Value > 0) { guideController.Switch = true; } //Proximity fuse behaviour if (ProximityFuzeToggle.IsActive) { if (radar.TargetDistance <= ProximityFuzeRangeSlider.Value + 1f) { StartCoroutine(RocketExplode()); } } } } } if (rocket.hasExploded && !rocketExploMsgSent) { Destroy(radarObject); Destroy(guideObject); if (HighExploToggle.IsActive) { StartCoroutine(RocketExplode()); } try { if (RocketsController.Instance.playerGroupedRockets.TryGetValue(StatMaster.isMP ? rocket.ParentMachine.PlayerID : 0, out Dictionary <KeyCode, HashSet <TimedRocket> > groupedRockets)) { if (groupedRockets.TryGetValue(GroupFireKey.GetKey(0), out HashSet <TimedRocket> rockets)) { rockets.Remove(rocket); } } } catch { } rocketExploMsgSent = true; } if (!NoSmokeToggle.IsActive) { var em = smokeTrail.emission; var r = em.rate; r.constant = /*TrailSmokeEmissionConstant*/ trailSmokePropertise.EmissionConstant; em.rate = r; smokeTrail.startLifetime = /*TrailSmokeLifetime*/ trailSmokePropertise.Lifetime; smokeTrail.startSize = /*TrailSmokeSize*/ trailSmokePropertise.Size; } } }