Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
    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();
 }