コード例 #1
0
        private void threadStart(WorkerThread <SensorData> worker, object obj)
        {
            while (true)
            {
                SensorData data = worker.extractMessage();
                if (data == null)
                {
                    foreach (var player in playerId_playerState.Values)
                    {
                        player.signalEnd(null);
                    }
                    break;
                }

                if (MetaData.SENSOR_MAP.ContainsKey(data.sensor_id))
                {
                    string      player_name = MetaData.SENSOR_MAP[data.sensor_id];
                    PlayerState state       = playerId_playerState[player_name];
                    if (current_query.Equals(QUERY_1))
                    {
                        state.query1(data);
                    }
                    else if (current_query.Equals(QUERY_3))
                    {
                        state.query3(data);
                    }
                }
            }
        }
コード例 #2
0
        private void query3ThreadStart(WorkerThread <SensorData> thread, object state)
        {
            PlayerState player_state = (PlayerState)state;

            while (true)
            {
                SensorData msg = thread.extractMessage();
                if (msg == null)
                {
                    player_state.signalEnd(null);
                    break;
                }
                player_state.query3(msg);
            }
        }
コード例 #3
0
        private void query3ThreadStart(WorkerThread <PlayerData> thread, object state)
        {
            PlayerState player_state = (PlayerState)state;

            while (true)
            {
                PlayerData player_data = thread.extractMessage();
                if (player_data == null)
                {
                    player_state.signalEnd(null);
                    return;
                }
                player_state.query3(player_data);
            }
        }