This commit is contained in:
YangHua 2023-11-23 10:37:03 +08:00
parent 34f683fbca
commit 2241107a4a
1 changed files with 27 additions and 19 deletions

View File

@ -13,6 +13,7 @@ using UnityEngine.UI;
public class GameManager : MonoSingleton<GameManager> public class GameManager : MonoSingleton<GameManager>
{ {
public SyncPlayerTransform playerTransformPrefab; public SyncPlayerTransform playerTransformPrefab;
public SyncPlayerTransform currentSpt;
public Transform spawnPos; public Transform spawnPos;
public System.Collections.Generic.List<ulong> userIds = new System.Collections.Generic.List<ulong>(); public System.Collections.Generic.List<ulong> userIds = new System.Collections.Generic.List<ulong>();
public TenkokuModule tenkokuModule; public TenkokuModule tenkokuModule;
@ -28,18 +29,6 @@ public class GameManager : MonoSingleton<GameManager>
// Start is called before the first frame update // Start is called before the first frame update
private void Awake() private void Awake()
{ {
if (GlobalFlag.currentUser.role_code == "03")
{
Teacher.gameObject.SetActive(true);
student.gameObject.SetActive(false);
}
if (GlobalFlag.currentUser.role_code == "04")
{
Teacher.gameObject.SetActive(false);
student.gameObject.SetActive(true);
}
SyncCreateRoom.getroomusersRequset += OnGetRoomUsers; SyncCreateRoom.getroomusersRequset += OnGetRoomUsers;
SyncCreateRoom.send2roomRequset += OnRoomInfo; SyncCreateRoom.send2roomRequset += OnRoomInfo;
SyncPlayerTransform spt = Instantiate(playerTransformPrefab); SyncPlayerTransform spt = Instantiate(playerTransformPrefab);
@ -47,6 +36,7 @@ public class GameManager : MonoSingleton<GameManager>
spt.gameObject.transform.position = spawnPos.position; spt.gameObject.transform.position = spawnPos.position;
spt.gameObject.transform.eulerAngles = spawnPos.eulerAngles; spt.gameObject.transform.eulerAngles = spawnPos.eulerAngles;
spt.SetPlayerInfo(ulong.Parse(GlobalFlag.currentUser.user_id), GlobalFlag.currentUser.login_name, ulong.Parse(GlobalFlag.roomID), true); spt.SetPlayerInfo(ulong.Parse(GlobalFlag.currentUser.user_id), GlobalFlag.currentUser.login_name, ulong.Parse(GlobalFlag.roomID), true);
currentSpt = spt;
AddPlayers(spt); AddPlayers(spt);
ToolsBootstrap.Instance.SetCameraInfo(spt); ToolsBootstrap.Instance.SetCameraInfo(spt);
//0 red 1 blue //0 red 1 blue
@ -92,6 +82,18 @@ public class GameManager : MonoSingleton<GameManager>
} }
} }
} }
///04 student 03 teacher
if (GlobalFlag.currentUser.role_code == "03")
{
Teacher.gameObject.SetActive(true);
student.gameObject.SetActive(false);
spt.GetComponent<Camera>().cullingMask = -1;
}
if (GlobalFlag.currentUser.role_code == "04")
{
Teacher.gameObject.SetActive(false);
student.gameObject.SetActive(true);
}
userIds.Add(ulong.Parse(GlobalFlag.currentUser.user_id)); userIds.Add(ulong.Parse(GlobalFlag.currentUser.user_id));
tenkokuModule.mainCamera = spt.transform; tenkokuModule.mainCamera = spt.transform;
} }
@ -171,9 +173,13 @@ public class GameManager : MonoSingleton<GameManager>
break; break;
case "StartDeduction": case "StartDeduction":
GlobalFlag.isStartRehearsing = true; GlobalFlag.isStartRehearsing = true;
for (int i = 0; i < UnmannedAerialVehicleManage.unmannedAerialVehicleManages.Count; i++) for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{ {
UnmannedAerialVehicleManage.unmannedAerialVehicleManages[i].isStartRehearsing = true; DeviceManager.Instance.devices[i].isStartRehearsing = true;
}
if (GlobalFlag.currentUser.role_code == "04")
{
currentSpt.GetComponent<Camera>().cullingMask = -1;
} }
break; break;
case "无人机List": case "无人机List":
@ -190,20 +196,21 @@ public class GameManager : MonoSingleton<GameManager>
break; break;
case "Stop": case "Stop":
GlobalFlag.isStartRehearsing = false; GlobalFlag.isStartRehearsing = false;
for (int i = 0; i < UnmannedAerialVehicleManage.unmannedAerialVehicleManages.Count; i++) for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{ {
UnmannedAerialVehicleManage.unmannedAerialVehicleManages[i].isStartRehearsing = false; DeviceManager.Instance.devices[i].isStartRehearsing = false;
} }
break; break;
case "EndDeduction": case "EndDeduction":
GlobalFlag.isStartRehearsing = false; GlobalFlag.isStartRehearsing = false;
for (int i = 0; i < UnmannedAerialVehicleManage.unmannedAerialVehicleManages.Count; i++) for (int i = 0; i < DeviceManager.Instance.devices.Count; i++)
{ {
UnmannedAerialVehicleManage.unmannedAerialVehicleManages[i].isStartRehearsing = false; DeviceManager.Instance.devices[i].isStartRehearsing = false;
} }
break; break;
case "offline": case "offline":
break; break;
default: default:
break; break;
@ -258,6 +265,7 @@ public class GameManager : MonoSingleton<GameManager>
public async void OnGetRoomDevice() public async void OnGetRoomDevice()
{ {
DeviceData deviceData = await AsyncWebReq.Get<DeviceData>("http://111.229.30.246:48888/Handler/Thinkingfile.ashx?action=querypracticedevicedetail&PracticeId=" + GlobalFlag.roomID + "&PracticeSubjectId=" + GlobalFlag.practiceSubjectID); DeviceData deviceData = await AsyncWebReq.Get<DeviceData>("http://111.229.30.246:48888/Handler/Thinkingfile.ashx?action=querypracticedevicedetail&PracticeId=" + GlobalFlag.roomID + "&PracticeSubjectId=" + GlobalFlag.practiceSubjectID);
for (int i = 0; i < deviceData.data.Count; i++) for (int i = 0; i < deviceData.data.Count; i++)
{ {
switch (deviceData.data[i].device_name) switch (deviceData.data[i].device_name)