private void StartSync()
        {
            var ca = "ws://" + _serverAddress;

            Debug.Log("Connect to " + ca);
            _ws = new WebSocket(ca);

            _ws.OnMessage += (object sender, MessageEventArgs e) =>
            {
                print(e.Data);
                userName.Enqueue(JsonParser.ReturnIdName(e.Data));
            };

            _ws.OnError += (sender, e) =>
            {
                Debug.Log("WebSocket Error Message: " + e.Message);
                _nowPhase = SYNC_PHASE.Idling;
            };

            _ws.OnClose += (sender, e) =>
            {
                Debug.Log("Disconnected Server");
            };

            _ws.Connect();

            _nowPhase = SYNC_PHASE.Syncing;
        }
Example #2
0
        public void OnSyncStartButtonDown()
        {
            var ca = "ws://" + _serverAddress;

            Debug.Log("Connect to " + ca);
            _ws = new WebSocket(ca);

            _ws.OnMessage += (object sender, MessageEventArgs e) => {
                print(e.Data);
                string[] userPos = JsonParser.ReturnString(e.Data);
                Vector3  pos     = new Vector3(float.Parse(userPos[0]), float.Parse(userPos[1]), float.Parse(userPos[2]));
                PosQueue.Enqueue(pos);
            };

            _ws.OnError += (sender, e) =>
            {
                Debug.Log("WebSocket Error Message: " + e.Message);
                _nowPhase = SYNC_PHASE.Idling;
            };

            _ws.OnClose += (sender, e) =>
            {
                Debug.Log("Disconnected Server");
            };

            _ws.Connect();

            _nowPhase = SYNC_PHASE.Syncing;
        }
Example #3
0
        // Start is called before the first frame update
        public void StartReciever()
        {
            _nowPhase = SYNC_PHASE.Idling;

            var cTransformValue = gameObject.ObserveEveryValueChanged(_ => _syncObjTransform.position);

            cTransformValue.ThrottleFirstFrame(5).Subscribe(pos => OnChangedTargetTransformValue(pos));

            OnSyncStartButtonDown();
        }
        // Start is called before the first frame update
        void Start()
        {
            _nowPhase           = SYNC_PHASE.Idling;
            DefineData.userName = "******";

            StartSync();

            this.UpdateAsObservable()
            .Where(_ => userName.Count > 0)
            .Subscribe(_ => {
                var uName         = userName.Dequeue();
                userNameText.text = uName;
                DefineData.SetUserName(uName);
            });
        }