diff --git a/Assets/Zion/Scripts/Adam/GameManager.cs b/Assets/Zion/Scripts/Adam/GameManager.cs index 4d6c77a0..05d96a81 100644 --- a/Assets/Zion/Scripts/Adam/GameManager.cs +++ b/Assets/Zion/Scripts/Adam/GameManager.cs @@ -24,7 +24,6 @@ public class GameManager : MonoSingleton public DragController wxdDrag; public GameObject Teacher; public GameObject student; - public bool isPlayer = true; public System.Collections.Generic.List players = new System.Collections.Generic.List(); // Start is called before the first frame update private void Awake() @@ -47,7 +46,7 @@ public class GameManager : MonoSingleton spt.gameObject.SetActive(true); spt.gameObject.transform.position = spawnPos.position; spt.gameObject.transform.eulerAngles = spawnPos.eulerAngles; - spt.SetPlayerInfo(ulong.Parse(GlobalFlag.currentUser.user_id), GlobalFlag.currentUser.login_name, ulong.Parse(GlobalFlag.roomID), isPlayer); + spt.SetPlayerInfo(ulong.Parse(GlobalFlag.currentUser.user_id), GlobalFlag.currentUser.login_name, ulong.Parse(GlobalFlag.roomID), true); AddPlayers(spt); ToolsBootstrap.Instance.SetCameraInfo(spt); //0 red 1 blue @@ -164,7 +163,7 @@ public class GameManager : MonoSingleton spt.gameObject.SetActive(true); spt.gameObject.transform.position = spawnPos.position; spt.gameObject.transform.eulerAngles = spawnPos.eulerAngles; - spt.SetPlayerInfo(ulong.Parse(data[1]), data[2], ulong.Parse(data[3]), !isPlayer); + spt.SetPlayerInfo(ulong.Parse(data[1]), data[2], ulong.Parse(data[3]), false); AddPlayers(spt); } break; @@ -202,7 +201,7 @@ public class GameManager : MonoSingleton } break; case "offline": - + break; default: break; @@ -238,7 +237,7 @@ public class GameManager : MonoSingleton { SyncPlayerTransform spt = Instantiate(playerTransformPrefab); spt.gameObject.SetActive(true); - spt.SetPlayerInfo(ulong.Parse(userInfo[0]), userInfo[1], ulong.Parse(userInfo[2]), !isPlayer); + spt.SetPlayerInfo(ulong.Parse(userInfo[0]), userInfo[1], ulong.Parse(userInfo[2]), false); spt.transform.position = new Vector3(spawnPos.position.x + index * 0.5f, spawnPos.position.y, spawnPos.position.z + index * 0.5f); spt.transform.eulerAngles = spawnPos.eulerAngles; AddPlayers(spt); diff --git a/Assets/Zion/Scripts/Adam/UIBootstrap.cs b/Assets/Zion/Scripts/Adam/UIBootstrap.cs index e008faab..ae273cf9 100644 --- a/Assets/Zion/Scripts/Adam/UIBootstrap.cs +++ b/Assets/Zion/Scripts/Adam/UIBootstrap.cs @@ -27,8 +27,20 @@ public class UIBootstrap : MonoSingleton AdamSync.SyncCreateRoom.getRoomsRequset += OnGetRooms; AdamSync.SyncCreateRoom.getroomusersRequset += OnGetRoomsUsers; AdamSync.SyncCreateRoom.send2roomRequset += OnGetRoomsInfo; + AdamSync.SyncCreateRoom.send2roomRequset += OnOtherPlayerOnline; } + public void OnOtherPlayerOnline(string msg) + { + string[] data = msg.Split(','); + Debug.Log(data[1]); + if (data[0] == "offline") + { + GameManager.Instance.RemovePlayer(ulong.Parse(data[1])); + string _msg = "leaveroom "; + _ = AdamSync.SyncCreateRoom.SendMessageAsync(_msg); + } + } public async void GetSceneData(string roomId) {