private IEnumerator InstantiatePlayer() { observers = new LinkedList <IObservableOptionsObserver>(); observableOptions = new ObservableOptions { position = false, rotation = false, interpolation = false, extrapolation = false }; // To avoid synchronization issues due to scene loading yield return(new WaitForSeconds(loadingTime)); int _offset = POSITION_OFFSET * PhotonNetwork.LocalPlayer.ActorNumber; int _pos = PLAYER_START_POST + _offset; LocalPlayerPrefab = PhotonNetwork.Instantiate(playerPrefab.name, new Vector3(_pos, 0f, _pos), Quaternion.identity); // Wait other player instantion messages yield return(new WaitForSeconds(loadingTime)); loadingScreen.enabled = false; }
public static ISubject <Try <Datagram> > ToObservable(this Socket socket, Action <ObservableOptions> configuration = null) { var options = new ObservableOptions(); configuration?.Invoke(options); var block = socket.ToDataflowBlock(opt => { opt.TaskScheduler = options.TaskScheduler; }); return(Subject.Create <Try <Datagram> >(block.AsObserver(), block.AsObservable())); }