public void Init() { goCar = this.transform.Find("car").gameObject; Gps = new GPS(this.gameObject); InputManager = new ReplayerInput(); WCFL = transform.Find("WheelColliders/WCFL").GetComponent <WheelController>(); WCFR = transform.Find("WheelColliders/WCFR").GetComponent <WheelController>(); WCRL = transform.Find("WheelColliders/WCRL").GetComponent <WheelController>(); WCRR = transform.Find("WheelColliders/WCRR").GetComponent <WheelController>(); peSprayFL = transform.Find("WheelColliders/WCRL/SprayFL").GetComponent <ParticleSystem>(); peSprayFR = transform.Find("WheelColliders/WCRR/SprayFR").GetComponent <ParticleSystem>(); ParticleSystem.EmissionModule emSprayRL = peSprayFL.emission; emSprayRL.rate = 160f; ParticleSystem.EmissionModule emSprayRR = peSprayFR.emission; emSprayRL.rate = 160f; peDustRL = transform.Find("WheelColliders/WCRL/DustFL").GetComponent <ParticleSystem>(); peDustRR = transform.Find("WheelColliders/WCRR/DustFR").GetComponent <ParticleSystem>(); ParticleSystem.EmissionModule emRL = peDustRL.emission; emRL.rate = 160f; ParticleSystem.EmissionModule emRR = peDustRR.emission; emRR.rate = 160f; WCFL.Replayer = true; WCFR.Replayer = true; WCRL.Replayer = true; WCRR.Replayer = true; //Destroy all colliders foreach (Collider c in GetComponentsInChildren <Collider>()) { Destroy(c); } }
public void DrawFrame(List <RecFrameData> FrameData) { foreach (RecFrameData TS in FrameData) { RecordableVehicle rv = (RecordableVehicle)Recbles.Where(v => v.VId == TS.VId).FirstOrDefault(); rv.Transform.position = TS.Pos; rv.Transform.rotation = TS.Rot; ReplayerInput ri = (ReplayerInput)(rv.InputManager); rv.WCFL.steerAngle = TS.XMovement; rv.WCFR.steerAngle = TS.XMovement; //ri.zMovement = TS.ZMovement; rv.WCFL.angularVelocity = TS.FAV; rv.WCRL.angularVelocity = TS.RAV; rv.WCFR.angularVelocity = TS.FAV; rv.WCRR.angularVelocity = TS.RAV; rv.WCFL.springLengthInst = (float)TS.FLSprL / 100; rv.WCFR.springLengthInst = (float)TS.FRSprL / 100; rv.WCRL.springLengthInst = (float)TS.RLSprL / 100; rv.WCRR.springLengthInst = (float)TS.RRSprL / 100; rv.WCFL.isGrounded = TS.FLGnd; rv.WCFR.isGrounded = TS.FRGnd; rv.WCRL.isGrounded = TS.RLGnd; rv.WCRR.isGrounded = TS.RRGnd; if (TS.Events != null) { foreach (RecEvent e in TS.Events) { if (e.Type == RecEventType.JointBreak) { rv.DMC.BreakOffPart(e.Data.ToString()); } if (e.Type == RecEventType.Crunch) { rv.DMC.CrunchPart(e.Data.ToString(), e.Data2.ToString()); } if (e.Type == RecEventType.AddHinge) { rv.DMC.AddHingeToPart(e.Data.ToString(), e.Data2.ToString()); } if (e.Type == RecEventType.Scratch) { rv.DMC.ScratchPart(e.Data.ToString()); } if (e.Type == RecEventType.CamChange) { _replayer.ChooseCam(System.Convert.ToInt32(e.Data)); } } } } }
public override void Init() { //Gps = new GPS(goCar); InputManager = new ReplayerInput(); }