void OnClientConnected(object sender, ConnectionEventArgs e) //if you are a server than, you handle clients { if (NetComp.IsServer()) { BroadCastExperimentStatusUpdate(ExperimentManager.Instance().GetExperimentStatus()); } }
void OnNetworkDataReceived(object sender, ReceivedNetworkDataEventArgs e) { NetworkData data = e.Data; switch (e.Type) { case ENetDataType.ExperimentState: { ExperimentState state = (ExperimentState)data; ExperimentManager.Instance().SetExperimentStatus(state.Status); break; } case ENetDataType.UserState: ExperimentManager.Instance().ReceivedUserStateUpdate((UserState)data); break; case ENetDataType.RandomState: ExperimentManager.Instance().ReceivedRandomStateUpdate((RandomState)data); break; case ENetDataType.ResponseState: ExperimentManager.Instance().ReceivedResponseStateUpdate((ResponseState)data); break; default: throw new ArgumentOutOfRangeException(); } }
void OnClientDisconected(object sender, ConnectionEventArgs e) { ExperimentManager.Instance().ClientDisconected(); }