예제 #1
0
        public SprintRace(IConfiguration configuration, RaceStart raceStart) : base(configuration)
        {
            this.configuration = configuration;

            LoadRaceFromFile(raceStart);
            LoadDrivers(configuration);
            CalculateStartPositions();
            UI.Notify($"Race Started: {raceStart.Name}");
        }
예제 #2
0
    // Use this for initialization
    void Awake()
    {
        mControl = GameObject.FindGameObjectWithTag("Menu");

        mControlScript = mControl.GetComponent<MenuControl>() as MenuControl;

        mCameraFollowScript = mCamera.GetComponent<SmoothFollow2>() as SmoothFollow2;

        rStartScript = rStart.GetComponent<RaceStart>() as RaceStart;

        lrPadScript = lrPad.GetComponent<InputLRPad>() as InputLRPad;

        //jumpScript = jButton.GetComponent<JumpButton>() as JumpButton;

        //fallScript = fButton.GetComponent<FallButton>() as FallButton;

        if(mControlScript.dinoIndex == 0)
        {
            dinos[0].SetActive(true);
            mCameraFollowScript.target = dinos[0].transform;
            lrPadScript.player = dinos[0];
            rStartScript.player = dinos[0];
            //jumpScript.player = dinos[0];
            //fallScript.player = dinos[0];
        }
        else if(mControlScript.dinoIndex == 1)
        {
            dinos[1].SetActive(true);
            mCameraFollowScript.target = dinos[1].transform;
            mCameraFollowScript.distance = -(mCameraFollowScript.distance);
            lrPadScript.player = dinos[1];
            rStartScript.player = dinos[1];
            //jumpScript.player = dinos[1];
            //fallScript.player = dinos[1];
        }
        else if(mControlScript.dinoIndex == 2)
        {
            dinos[2].SetActive(true);
            mCameraFollowScript.target = dinos[2].transform;
            lrPadScript.player = dinos[2];
            rStartScript.player = dinos[2];
            //jumpScript.player = dinos[2];
            //fallScript.player = dinos[2];

        }
    }
예제 #3
0
        private void LoadRaceFromFile(RaceStart raceStart)
        {
            var document = XDocument.Load("scripts/streetracing/checkpoints.xml");

            foreach (XElement item in document.Descendants().Where(x => x.Name == "checkpoint" && x.Parent.Attributes().FirstOrDefault(p => p.Name == "name").Value == raceStart.Name))
            {
                var xCoord = float.Parse(item.Attributes().FirstOrDefault(x => x.Name == "X").Value);
                var yCoord = float.Parse(item.Attributes().FirstOrDefault(x => x.Name == "Y").Value);
                var zCoord = float.Parse(item.Attributes().FirstOrDefault(x => x.Name == "Z").Value);

                var number       = Checkpoints.Count + 1;
                var racePosition = new Vector3(xCoord, yCoord, zCoord);
                var blip         = World.CreateBlip(racePosition);
                blip.ShowNumber(number);

                Checkpoints.Add(new Checkpoint()
                {
                    Number   = number,
                    Position = racePosition,
                    Blip     = blip
                });
            }
        }
예제 #4
0
 public RaceStartEventArgs(RaceStart start) : base(start.Race)
 {
     this.Start = start;
 }
예제 #5
0
 public void DestroyCharacter()
 {
   Destroy(character);
   currentCar = 0;
   raceStart = null;
 }
예제 #6
0
 private void OnRaceStart()
 {
     RaceStart?.Invoke(this, null);
 }
예제 #7
0
 public void DestroyCharacter()
 {
     Destroy(character);
     currentCar = 0;
     raceStart  = null;
 }