Exemple #1
0
    void CreateFrame(Color32[] framePixels)
    {
        int[,] pixels = new int[framePixels.Length, numColorsInPixel];
        for (int i = 0; i < framePixels.Length; i++)
        {
            Color32 pixelColor = framePixels[i];
            pixels[i, 0] = pixelColor.r;
            pixels[i, 1] = pixelColor.g;
            pixels[i, 2] = pixelColor.b;
        }
        var dict = new Dictionary <string, dynamic>();

        if (!agentManager.isEpisodeOver)
        {
            dict["frame"] = pixels;
        }
        else
        {
            sentEpisodeOverFrame     = true;
            policy_con.isEpisodeOver = true;
        }
        dict["reward"] = agentManager.GetReward();
        dict["done"]   = agentManager.isEpisodeOver;
        agentManager.ResetReward();
        string jsonStr = JsonConvert.SerializeObject(dict);

        policy_con.SendState(jsonStr);
    }
Exemple #2
0
    void SendState()
    {
        var dict = new Dictionary <string, dynamic>();

        dict["state"]            = stateFeatures.ToArray();
        dict["reward"]           = agentManager.GetReward();
        dict["done"]             = agentManager.isEpisodeOver;
        sentEpisodeOver          = agentManager.isEpisodeOver;
        policy_con.isEpisodeOver = agentManager.isEpisodeOver;
        agentManager.ResetReward();
        string jsonStr = JsonConvert.SerializeObject(dict);

        policy_con.SendState(jsonStr);
        agentManager.curTimeStep += 1;
    }