// void BtnStartExperiment() // { // EExperimentStatus expStatus = Exp.GetExperimentStatus(); // Debug.Assert(expStatus == EExperimentStatus.Waiting); // // Exp.StartExperiment(); // } // void BtnAbortExperiment() // { // EExperimentStatus expStatus = Exp.GetExperimentStatus(); // Debug.Assert(expStatus != EExperimentStatus.Waiting); // Exp.AbortExperiment(); // } void RefreshUI() { ENetworkState netState = NetMan.GetState(); EExperimentStatus expStatus = Exp.GetExperimentStatus(); BtnStartServer.gameObject.SetActive(netState == ENetworkState.Closed); BtnStartClient.gameObject.SetActive(netState == ENetworkState.Closed); BtnAbortClose.gameObject.SetActive(netState == ENetworkState.Running || netState == ENetworkState.Startup); PreviousNetState = netState; // if (NetMan.IsServer()) // { // BtnStartExp.gameObject.SetActive(expStatus == EExperimentStatus.Waiting && NetMan.GetNumConnections() == 1); // BtnAbortExp.gameObject.SetActive(expStatus != EExperimentStatus.Waiting); // } // else // { // // BtnStartExp.gameObject.SetActive(false); // // BtnAbortExp.gameObject.SetActive(false); // } PreviousExpStatus = expStatus; bPreviousServerState = NetMan.IsServer(); NetworkState.text = (netState != ENetworkState.Closed ? (NetMan.IsServer() ? "Server - " : "Client - ") : "") + netState.ToString(); ExperimentState.text = expStatus.ToString(); ClientList.text = ""; string[] conns = NetMan.NetComp.GetConnectionNames(); foreach (string name in conns) { ClientList.text += name + "\n"; } }
public void BroadCastExperimentStatusUpdate(EExperimentStatus status) { //Debug.LogFormat("Broadcasting experiment status update: {0}", status.ToString()); NetComp.BroadcastNetworkData(ENetChannel.Reliable, new ExperimentState { Status = status }); }
public void Deserialize(byte[] data) { int offset = 0; Debug.Assert(data[offset] == (byte)ENetDataType.ExperimentState); offset += sizeof(byte); SocketNumber = data[offset]; offset += sizeof(byte); Status = (EExperimentStatus)data[offset]; }
// Update is called once per frame void Update() { ENetworkState netState = NetMan.GetState(); EExperimentStatus expStatus = Exp.GetExperimentStatus(); if (netState != PreviousNetState || expStatus != PreviousExpStatus || bPreviousServerState != NetMan.IsServer()) { RefreshUI(); } }
private void Start() { Debug.Assert(NetMan != null, "Sample Network Manager is not set"); Debug.Assert(RemoteGazeSphere != null, "Remote GazeSphere is not set"); Debug.Assert(LocalGazeSphere != null, "Local GazeSphere is not set"); Status = EExperimentStatus.Waiting; // _spawnManager = GetComponentInChildren<SpawningManager>(); localStartExperiment = false; remoteStartExperiment = false; }
public void ClientDisconected() { if (NetMan.IsServer()) { switch (Status) { case EExperimentStatus.Waiting: break; case EExperimentStatus.WarmUp: case EExperimentStatus.Running: AbortExperiment(); break; } } else { Status = EExperimentStatus.Waiting; } }
public void SetExperimentStatus(EExperimentStatus status) { Status = status; if (NetMan.IsServer()) { NetMan.BroadCastExperimentStatusUpdate(Status); } if (status == EExperimentStatus.Waiting) { // CountdownDisplay.text = "Waiting..."; // CountdownDisplay.gameObject.SetActive(true); } else if (status == EExperimentStatus.WarmUp) { WarmUpTimer = WarmUpTime; // CountdownDisplay.gameObject.SetActive(true); } else // Running { // CountdownDisplay.gameObject.SetActive(false); } }