Exemplo n.º 1
0
    public List <SavedTopologyData> GetSavedTopologies()
    {
        List <SavedTopologyData> topologiesData = new List <SavedTopologyData> ();

        for (int i = 0; i < TOPOLOGIES_COUNT; i++)
        {
            string fileName = string.Format(topologyNameFormat, i);
            string path     = Application.persistentDataPath + "/" + fileName;

            if (File.Exists(path))
            {
                FileStream      file = File.OpenRead(path);
                BinaryFormatter bf   = new BinaryFormatter();
                string          json = (string)bf.Deserialize(file);
                file.Close();

                SavedTopologyData topology = JsonUtility.FromJson <SavedTopologyData> (json);
                topologiesData.Add(topology);
            }
            else
            {
                topologiesData.Add(null);
            }
        }

        return(topologiesData);
    }
    void saveCurrentTopologyOnSelectedSlot(string name)
    {
        int currentSelectedIndex = getCurrentSelectedIndex();

        if (currentSelectedIndex != GlobalConst.INVALID_ID)
        {
            SavedTopologyData savedTopologyData = new SavedTopologyData(currentTopologyData,
                                                                        carsData, name);
            SaveManager.Instance.SaveTopologyOnSlot(savedTopologyData, currentSelectedIndex);
            refresh();
        }
    }
Exemplo n.º 3
0
    void onNewTopologyLoaded(SavedTopologyData savedTopologyData)
    {
        if (savedTopologyData != null && savedTopologyData.TopologyData != null && savedTopologyData.CarSimpleData != null)
        {
            NetworkTopologySimpleData newTopology = savedTopologyData.TopologyData;
            geneticsManager.SetNetworkTopology(newTopology);
            geneticsManager.ResetSimulation();
            geneticsManager.SetNewCars(savedTopologyData.CarSimpleData);
            geneticsManager.ResetCars();
            geneticsManager.ActivateCars();

            geneticsUIController.RefreshViews();
        }
    }
Exemplo n.º 4
0
    public void SaveTopologyOnSlot(SavedTopologyData savedTopologyData, int slotId)
    {
        if (savedTopologyData != null && slotId >= 0 && slotId < TOPOLOGIES_COUNT)
        {
            string     json        = JsonUtility.ToJson(savedTopologyData);
            string     fileName    = string.Format(topologyNameFormat, slotId);
            string     destination = Application.persistentDataPath + "/" + fileName;
            FileStream file;

            if (File.Exists(destination))
            {
                file = File.OpenWrite(destination);
            }
            else
            {
                file = File.Create(destination);
            }

            BinaryFormatter bf = new BinaryFormatter();
            bf.Serialize(file, json);
            file.Close();
        }
    }
Exemplo n.º 5
0
    public void Setup(SavedTopologyData savedTopologyData)
    {
        if (savedTopologyData != null)
        {
            SavedTopologyData = savedTopologyData;
            saveTopologContnet.SetActive(true);
            emptyListElementContent.SetActive(false);
            topologyName.text = savedTopologyData.TopologyName.ToUpper();

            if (savedTopologyData.TopologyData != null)
            {
                sensors.text     = savedTopologyData.TopologyData.SensorsCount.ToString();
                hiddenLayer.text = savedTopologyData.TopologyData.HiddenLayerNeuronsCount.ToString();

                int tmp = (savedTopologyData.TopologyData.MovementAngleInput ? 1 : 0) +
                          (savedTopologyData.TopologyData.SteerAngleInput ? 1 : 0) +
                          (savedTopologyData.TopologyData.TorqueInput ? 1 : 0) +
                          (savedTopologyData.TopologyData.VelocityInput ? 1 : 0);
                additionalInputs.text = tmp.ToString();

                tmp = (savedTopologyData.TopologyData.HandbrakeOutput ? 1 : 0) +
                      (savedTopologyData.TopologyData.TorqueOutput ? 1 : 0) + 1;
                outputs.text = tmp.ToString();
            }

            if (savedTopologyData.CarSimpleData != null)
            {
                carsCount.text = savedTopologyData.CarSimpleData.Count.ToString();
            }
        }
        else
        {
            SavedTopologyData = null;
            saveTopologContnet.SetActive(false);
            emptyListElementContent.SetActive(true);
        }
    }