public override void CarConnected(CarConnected e)
 {
     if (c.cars.ContainsKey(e.car.name))
     {
         throw new JoinException("Duplicate car");
     }
     EventBus.Publish(e);
 }
 public override void CarConnected(CarConnected c)
 {
     if (cars.ContainsKey(c.car.name))
     {
         throw new JoinException("Car " + c.car.name + " already connected");
     }
     cars[c.car.name] = c;
     EventBus.Publish(c);
 }
    void addCarOnTrack(CarConnected e)
    {
        if (cars.ContainsKey(e.car.name))
        {
            throw new Exception("TODO: duplicate car");
        }

        var curveSample   = track.GetSampleAtDistance(0.95f * track.Length);
        var car           = Instantiate(carPrefab, curveSample.location + 0.1f * Vector3.up, curveSample.Rotation);
        var carController = car.GetComponent <CarController>();

        carController.SetSocket(e.socket);
        carController.raceController = this;
        car.name = e.car.name;
        Debug.Log("Add Car '" + e.car.name + "'");
        cars[e.car.name] = new CarStatus(e.car);
    }
    CarController addCarOnTrack(CarConnected e)
    {
        if (cars.ContainsKey(e.car.name))
        {
            throw new JoinException("Duplicate car");
        }

        var curveSample   = track.GetSampleAtDistance(0.95f * track.Length);
        var car           = Instantiate(carPrefab, curveSample.location + 0.1f * Vector3.up, curveSample.Rotation);
        var carController = car.GetComponent <CarController>();

        carController.SetSocket(e.socket);
        car.GetComponent <CarAppearanceController>().CarInfo = e.car;
        carController.raceController = this;
        car.name = e.car.name;
        Debug.Log("Add Car '" + e.car.name + "'");
        cars[e.car.name] = new CarStatus(e.car);
        EventBus.Publish(new CarAdded(e.car));
        return(carController);
    }
 public void CarConnected(CarConnected c)
 {
     this.state.CarConnected(c);
 }
 public virtual void CarConnected(CarConnected c)
 {
     throw new JoinException("Car connections not supported in this state");
 }