public override void OnStart(PartModule.StartState state) { if (broken) { mode = TrackingModes.BROKEN; List<Transform> toRemove = new List<Transform>(); RTUtils.findTransformsWithCollider(part.FindModelTransform(Pivot1Name), ref toRemove); foreach (Transform t in toRemove) Destroy(t.gameObject); if (this.MaximumDrag > 0) { part.minimum_drag = this.MinimumDrag; part.maximum_drag = this.MaximumDrag; } EnergyDrain = antennaRange = dishRange = 0; part.SendMessage("UpdateGUI"); UpdatePA(); RTGlobals.network = new RelayNetwork(); return; } Actions["Mode1Action"].guiName = Events["Mode1Event"].guiName = Mode1Name; Actions["Mode0Action"].guiName = Events["Mode0Event"].guiName = Mode0Name; Actions["ActionToggle"].guiName = ToggleName; Events["OverrideMode1Event"].guiName = "Override " + Mode1Name; Events["OverrideMode0Event"].guiName = "Override " + Mode0Name; if (fixAnimLayers) { int i = 0; foreach (AnimationState s in anim) { s.layer = i; i++; } } if (animState == 1) { act1(); anim[Animation].speed = Mathf.Abs(anim[Animation].speed); mode = TrackingModes.TRACKING; anim.Play(Animation); } else { act0(); anim[Animation].speed = -Mathf.Abs(anim[Animation].speed); mode = TrackingModes.RETRACTED; anim.Play(Animation); } anim[Animation].wrapMode = WrapMode.Clamp; base.OnStart(state); if (state != StartState.Editor) { Pivot2Dir = part.FindModelTransform(Pivot2Name); pivot1 = new Pivot(part.FindModelTransform(Pivot1Name), Pivot1Speed, Pivot1Range); pivot2 = new Pivot(Pivot2Dir, Pivot2Speed, Pivot2Range); if (animState == 1) { mode = TrackingModes.TRACKING; if (target.isTarget) { pivot1.SnapToTarget(target.position); pivot2.SnapToTarget(target.position); } } } anim[Animation].normalizedTime = animState; }
public override void OnStart(PartModule.StartState state) { if (broken) { mode = TrackingModes.BROKEN; List <Transform> toRemove = new List <Transform>(); RTUtils.findTransformsWithCollider(part.FindModelTransform(Pivot1Name), ref toRemove); foreach (Transform t in toRemove) { Destroy(t.gameObject); } if (this.MaximumDrag > 0) { part.minimum_drag = this.MinimumDrag; part.maximum_drag = this.MaximumDrag; } EnergyDrain = antennaRange = dishRange = 0; part.SendMessage("UpdateGUI"); UpdatePA(); RTGlobals.network = new RelayNetwork(); return; } Actions["Mode1Action"].guiName = Events["Mode1Event"].guiName = Mode1Name; Actions["Mode0Action"].guiName = Events["Mode0Event"].guiName = Mode0Name; Actions["ActionToggle"].guiName = ToggleName; Events["OverrideMode1Event"].guiName = "Override " + Mode1Name; Events["OverrideMode0Event"].guiName = "Override " + Mode0Name; if (fixAnimLayers) { int i = 0; foreach (AnimationState s in anim) { s.layer = i; i++; } } if (animState == 1) { act1(); anim[Animation].speed = Mathf.Abs(anim[Animation].speed); mode = TrackingModes.TRACKING; anim.Play(Animation); } else { act0(); anim[Animation].speed = -Mathf.Abs(anim[Animation].speed); mode = TrackingModes.RETRACTED; anim.Play(Animation); } anim[Animation].wrapMode = WrapMode.Clamp; base.OnStart(state); if (state != StartState.Editor) { Pivot2Dir = part.FindModelTransform(Pivot2Name); pivot1 = new Pivot(part.FindModelTransform(Pivot1Name), Pivot1Speed, Pivot1Range); pivot2 = new Pivot(Pivot2Dir, Pivot2Speed, Pivot2Range); if (animState == 1) { mode = TrackingModes.TRACKING; if (target.isTarget) { pivot1.SnapToTarget(target.position); pivot2.SnapToTarget(target.position); } } } anim[Animation].normalizedTime = animState; }
public override void OnStart(StartState state) { if (!String.IsNullOrEmpty(Pivot1Name) && !String.IsNullOrEmpty(Pivot2Name)) { ForceTransform = part.FindModelTransform(Pivot2Name); BreakTransform = part.FindModelTransform(Pivot1Name); } else { RTUtil.Log("ModuleRTAntennaAnimated: Pivot error"); enabled = false; return; } if (IsRTBroken) { TrackingMode = TrackingModes.Broken; } base.OnStart(state); if (RTCore.Instance != null) { mPivot1 = new Pivot(BreakTransform, Pivot1Speed, Pivot1Range); mPivot2 = new Pivot(ForceTransform, Pivot2Speed, Pivot2Range); if (IsRTActive) { TrackingMode = TrackingModes.Tracking; mPivot1.SnapToTarget(new DynamicTarget(RTAntennaTargetGuid)); mPivot2.SnapToTarget(new DynamicTarget(RTAntennaTargetGuid)); } } }