public void TestJson()
        {
            var rootDict = new Dictionary <string, EnvData>();

            var envData = new EnvData();

            var databaseStore = new Dictionary <string, long>();

            databaseStore.Add("Team1", 1000);
            databaseStore.Add("Team2", 2000);

            envData.databaseStorage = databaseStore;


            var envData2 = new EnvData();

            var databaseStore2 = new Dictionary <string, long>();

            databaseStore2.Add("Team3", 4000);
            databaseStore2.Add("Team4", 5000);

            envData2.databaseStorage = databaseStore;

            rootDict.Add("Total_influx_storage", envData);
            rootDict.Add("Second env", envData2);

            var json = JsonConvert.SerializeObject(rootDict);

            Assert.True(true, json);
        }
        //private static DeviceClient s_deviceClient;

        // The device connection string to authenticate the device with your IoT hub.
        // Using the Azure CLI:
        // az iot hub device-identity show-connection-string --hub-name {YourIoTHubName} --device-id MyDotnetDevice --output table
        //private readonly static string s_connectionString = "HostName=FreeDeviceHub.azure-devices.net;DeviceId=BMCSecurityBot;SharedAccessKey=bjwkcj0aJc9BBoAhHBN6nidx/s7VODUt90rQBP4GaXE=";
        //HostName=FreeDeviceHub.azure-devices.net;DeviceId=BMCSecurityBot;SharedAccessKey=bjwkcj0aJc9BBoAhHBN6nidx/s7VODUt90rQBP4GaXE=

        // Async method to send simulated telemetry

        /*
         * private static async void SendDeviceToCloudMessagesAsync(EnvData data)
         * {
         *  var message = new Message(Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(data)));
         *
         *  // Add a custom application property to the message.
         *  // An IoT hub can filter on these properties without access to the message body.
         *  message.Properties.Add("temperatureAlert", (data.Temp > 40) ? "true" : "false");
         *
         *  // Send the telemetry message
         *  await s_deviceClient.SendEventAsync(message);
         *  Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, "ok");
         *
         * }*/

        private void SendDeviceToCloudMessagesAsync(EnvData data)
        {
            var message = JsonConvert.SerializeObject(data);//Encoding.ASCII.GetBytes(

            PublishMessage(message);
            Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, "ok");
        }
Example #3
0
        //HostName=FreeDeviceHub.azure-devices.net;DeviceId=BMCSecurityBot;SharedAccessKey=bjwkcj0aJc9BBoAhHBN6nidx/s7VODUt90rQBP4GaXE=

        // Async method to send simulated telemetry
        private static async void SendDeviceToCloudMessagesAsync(EnvData data)
        {
            var message = new Message(Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(data)));

            // Add a custom application property to the message.
            // An IoT hub can filter on these properties without access to the message body.
            message.Properties.Add("temperatureAlert", (data.Temp > 40) ? "true" : "false");

            // Send the telemetry message
            await s_deviceClient.SendEventAsync(message);

            Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, "ok");
        }
Example #4
0
    private EnvData BuildData()
    {
        EnvData new_data = new EnvData();

        new_data.IsAlive = isAlive;
        new_data.FoodX   = foodDist;
        new_data.FoodZ   = angle;
        new_data.Hp      = health;
        new_data.Satiety = satiety;
        new_data.Reward  = reward;

        return(new_data);
    }
            internal static EnvData DeriveEnvironmentArgs(Assembly assembly, Log log)
            {
                EnvData ret = new EnvData();

                ret.Final = typeof(SHARED);

                var x        = assembly.Location.Split('\\');
                var fileName = x[x.Length - 1];
                var y        = fileName.Split('.').ToList();

                if (y.Count < 3)
                {
                    return(ret);
                }

                y.RemoveAt(y.Count - 1);
                y.RemoveAt(0);

                ret.args = y;

                var z = Assembly.GetExecutingAssembly().GetTypes()
                        .Where(type => typeof(Patchable).IsAssignableFrom(type));
                var z3 = assembly.GetTypes()
                         .Where(type => typeof(Patchable).IsAssignableFrom(type));

                foreach (var z2 in z)
                {
                    var name = z2.Name.ToLower();
                    if (y[0].ToLower() == name)
                    {
                        ret.Final = z2;
                        return(ret);
                    }
                }
                foreach (var z2 in z3)
                {
                    var name = z2.Name.ToLower();
                    if (y[0].ToLower() == name)
                    {
                        ret.Final = z2;
                        return(ret);
                    }
                }
                return(ret);
            }
Example #6
0
    internal Action SendData(EnvData new_data)
    {
        Action action = _client.SendData(new_data);

        return(action);
    }
Example #7
0
    public AsteroidData(Buffer[] input_buffers, AsteroidMaterial[] input_materials,
                        AsteroidObjectList[] input_object_lists, AsteroidObject action_controller, AsteroidObject score_keeper,
                        int action_dim, Camera cam, Light[] lights, AsteroidConstraint[] constraints)
    {
        //Create buffers
        List <BufferData> bufferList = new List <BufferData>();

        foreach (Buffer buf in input_buffers)
        {
            bufferList.Add(new BufferData(buf));
        }
        buffers = bufferList.ToArray();

        //Materials
        List <MatieralData> matList = new List <MatieralData>();

        foreach (AsteroidMaterial mat in input_materials)
        {
            matList.Add(new MatieralData(mat));
        }
        materials = matList.ToArray();

        //Set up special objects
        SelectedObjectData sk = new SelectedObjectData("", 0);
        SelectedObjectData ac = new SelectedObjectData("", 0);

        //Create object list
        List <ModelData>      modelList          = new List <ModelData>();
        List <ObjectData>     objectList         = new List <ObjectData>();
        List <AsteroidObject> asteroidObjectList = new List <AsteroidObject>();
        List <ObjectListData> objListList        = new List <ObjectListData>();

        foreach (AsteroidObjectList asteroid_object_list in input_object_lists)
        {
            //Create objects
            AsteroidObject[]          asteroid_objects = asteroid_object_list.GetComponentsInChildren <AsteroidObject>();
            List <SelectedObjectData> selected_objects = new List <SelectedObjectData>();

            //Encode each object, each model, and also create a reference to it
            foreach (AsteroidObject obj in asteroid_objects)
            {
                int obj_id = objectList.Count;
                objectList.Add(new ObjectData(obj, obj_id));
                asteroidObjectList.Add(obj);
                modelList.Add(new ModelData(obj.gameObject));
                selected_objects.Add(new SelectedObjectData(obj.object_name, obj_id));

                if (obj == action_controller)
                {
                    ac = new SelectedObjectData(obj.object_name, obj_id);
                }
                if (obj == score_keeper)
                {
                    sk = new SelectedObjectData(obj.object_name, obj_id);
                }
            }
            SelectedObjectData[] selected_objects_final = selected_objects.ToArray();

            objListList.Add(new ObjectListData(asteroid_object_list, selected_objects_final));
        }
        object_lists = objListList.ToArray();
        models       = modelList.ToArray();
        objects      = objectList.ToArray();

        //Create lights
        List <LightData> lightList = new List <LightData>();

        foreach (Light light in lights)
        {
            lightList.Add(new LightData(light));
        }
        light_data = lightList.ToArray();

        //Create constraints
        List <ConstraintData> constraintList = new List <ConstraintData>();

        foreach (AsteroidConstraint constraint in constraints)
        {
            constraintList.Add(new ConstraintData(constraint, asteroidObjectList));
        }
        constraint_data = constraintList.ToArray();

        //Finally, do the config
        env_config = new EnvData(action_dim, sk, ac, cam);
    }