protected override void OnRealtimeModelReplaced(VehicleModel previousModel, VehicleModel currentModel) { if (previousModel != null) { Debug.Log("Vehicle model replaced [Vehicle/OnRealtimeModelReplaced]"); Debug.Log("Previous model is not null:" + previousModel); // Unsubscribe from previous model events // previousModel.ownerIDSelfDidChange -= OnDriverDidChange; // previousModel.passengers.modelAdded -= OnPassengerAdded; // previousModel.passengers.modelRemoved -= OnPassengerRemoved; } if (currentModel != null) { if (currentModel.isFreshModel) { Debug.Log("Fresh spawn of vehicle into scene [Vehicle/OnRealtimeModelReplaced]"); // init driver info // model.driver = new DriverModel() // { // player = // { // clientId = -1, // -1 means "unowned" // playerName = null // }, // isGrabbingWheel = false // }; model.driver.player.clientId = -1; // -1 means "unowned" model.driver.player.playerName = null; model.driver.isGrabbingWheel = false; } // // Subscribe to current model events realtimeTransform.ownerIDSelfDidChange += OnTransformOwnerDidChange; // currentModel.passengers.modelAdded += OnPassengerAdded; // currentModel.passengers.modelRemoved += OnPassengerRemoved; RegisterWithManager(); } }