using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; namespace AdamSync { public class SyncPlayerTransform : AsyncObjectBase { private string latestData = ""; private void Start() { //SyncCreateRoom.playerInfoRequset += ReceivePlayInfo; //if (isPlayer) //{ // StartCoroutine(SendMsg()); //} //else //{ // //string msg = string.Format("send2room online," + GlobeFlag.userID + "," + GlobeFlag.userName + "," + GlobeFlag.roomID); // //_ = SyncCreateRoom.SendMessageAsync(msg); //} } private IEnumerator SendMsg() { while (true) { yield return new WaitForSeconds(0.01f); var nowData = GetSyncData(); if (!nowData.Equals(latestData)) { latestData = nowData; _ = SyncCreateRoom.SendMessageAsync(string.Format("player {0}", nowData)); } } } public void ReceivePlayInfo(int id, string pos, string angle) { if (id.Equals(userID)) { transform.position = Trans(pos); transform.eulerAngles = Trans(angle); } } private Vector3 Trans(string msg) { string[] data = msg.Split(','); Vector3 temp = new Vector3(float.Parse(data[0]), float.Parse(data[1]), float.Parse(data[2])); return temp; } } }